{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tangles of Personality Traits" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook we demonstrate different aspects of the tangle-analysis. We will cover setting up a Survey object, the tangle search, order functions, the tree of tangles and more. We do so by giving a structural analysis of a questionnaire on the Big Five personality traits. We will explore the following problems: \n", "\n", "__Coherent groups of questions__ \n", "We identify coherent structures within the questions. This lets us verify that there are five groups of related questions, called factors.\n", "\n", "__Typical mindsets__ \n", "We analyze the most typical ways of answering the questionnaire. These typical ways can be interpreted as mindsets of the participants.\n", "\n", "__A tree-structure of mindsets__ \n", "We structure typical mindsets by representing them as nodes in a tree — a tree of tangles.\n", "\n", "__Intervals of typical answers__ \n", "With a different setup of features, a tangle will give us, for each question, an interval in which answers to this question typically lie.\n", "\n", "We will focus on the demonstration of techniques provided by the tangle library. While we will get some interesting insights into the considered survey, this is not an exhaustive survey analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. The Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us start by having a look at our data. The [five factor model of personality](https://en.wikipedia.org/wiki/Big_Five_personality_traits) (also known as the OCEAN model or simply \"Big Five\") proposes that the personality of a person can be described, meaningfully, by how much each of the following five traits, called _factors_, apply to the person:\n", "- __E__ for extraversion\n", "- __N__ for neuroticism\n", "- __A__ for agreeableness\n", "- __C__ for conscientiousness\n", "- __O__ for openness to experience\n", "\n", "The data is provided in this repository, so you will not have to download it. We found the data ([here](https://openpsychometrics.org/_rawdata/): download link \"BIG5\"). Let's load the data into our notebook." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:23.319283Z", "start_time": "2024-04-25T13:55:22.413093Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of participants: 19384\n", "Number of questions in the questionnaire: 50\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "from matplotlib import pyplot as plt\n", "from src.utilities import load_big_five_data\n", "\n", "X, var_names, var_labels, factors = load_big_five_data()\n", "\n", "print(f\"Number of participants: {X.shape[0]}\")\n", "print(f\"Number of questions in the questionnaire: {X.shape[1]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are ten questions for each of the five factors E, N, A, C and O ([details](https://ipip.ori.org/new_ipip-50-item-scale.htm)). \n", "Let's have a look at how the first participant rated the first ten statements, those measuring extraversion." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:23.322457Z", "start_time": "2024-04-25T13:55:23.285461Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
StatementRating
E1I am the life of the party.4
E2I don't talk a lot.2
E3I feel comfortable around people.5
E4I keep in the background.2
E5I start conversations.5
E6I have little to say.1
E7I talk to a lot of different people at parties.4
E8I don't like to draw attention to myself.3
E9I don't mind being the center of attention.5
E10I am quiet around strangers.1
\n", "
" ], "text/plain": [ " Statement Rating\n", "E1 I am the life of the party. 4\n", "E2 I don't talk a lot. 2\n", "E3 I feel comfortable around people. 5\n", "E4 I keep in the background. 2\n", "E5 I start conversations. 5\n", "E6 I have little to say. 1\n", "E7 I talk to a lot of different people at parties. 4\n", "E8 I don't like to draw attention to myself. 3\n", "E9 I don't mind being the center of attention. 5\n", "E10 I am quiet around strangers. 1" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "participant_rating = X[0]\n", "pd.DataFrame(list(zip(var_labels, participant_rating))[:10], index=var_names[:10], columns=['Statement','Rating'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each line shows, from left to right,\n", "- an abbreviation: E for the factor extraversion plus a statement index;\n", "- the actual statement, as presented to the participants;\n", "- how the first participant rated the statement, assigning an integer value in 1 (strong disagreement) to 5 (strong agreement). \n", "\n", "Looks like an extroverted participant!\n", "\n", "Note, the statements E2, E4, E6, E8 and E10 are _negatively keyed_: a typical extroverted person will rate them low instead of high. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The rating behaviour itself varies from participant to participant. Some answer in a more extreme way, preferring ratings of 1 and 5, others use more gentle ratings like 2 and 4. To avoid this affecting our analysis we __standardize the data__: for each participant we center its ratings at the participant's mean rating and scale them by the standard deviation of the participant's ratings." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:23.418796Z", "start_time": "2024-04-25T13:55:23.293740Z" } }, "outputs": [], "source": [ "from src.utilities import remove_rows_with_zero_std, standardize_ratings\n", "\n", "X = remove_rows_with_zero_std(X) # we cannot divide by the standard deviation if it is zero\n", "X = standardize_ratings(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dataset, which previously had discrete values in $\\{1, 2, 3, 4, 5\\}$, now has continuous values. Let's see how this changed the answers of the first participant:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:23.745232Z", "start_time": "2024-04-25T13:55:23.322692Z" } }, "outputs": [ { "data": { "image/png": "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jz/+uAwcONBmjOvXr8sXX3yRqZ926tRJWrRoYVceqirr16/P1E8bNWokLVq0yPHn8r+OotC7ePGifvLJJ3Ytm5aWlu3848eP21w/PT1djxw5oqmpqaqqmpKSol9++aV+8skneu7cOfuTvkuzZs302LFjuV5/x44d+tVXX+mmTZs0PT3d5vI3btzQmzdvmh8fOnRIx4wZoz169NBXX31Vjxw5YjPGN998o1evXs11zhliY2N14cKF5ufcs2ePPvvsszpo0CBds2aN3XE2bNigEydO1MGDB+vQoUP1rbfe0r///jtHufz999+6ePFinTp1qk6bNk0XL16c4xiFVXp6erb9316LFi3SS5cu5VFGufP333/r+vXr9eDBgw5/7lu3blk8/uOPP3Tz5s1648YNu2McP35ct2zZolu3bs31Z8atW7c0ISFBz5w5kymn3IqNjVWj0WhzuTlz5miLFi20a9euumHDBou2c+fOadmyZa2un5ycrN27d9eQkBDt1auXpqSk6JAhQ9RgMKjRaNQmTZpoUlKS1RhJSUmZpkuXLqmzs7P+8ccf5nnWfPjhh+a/W3p6ur755pvq6+urRqNRPTw8dMSIETbfL88995z+8MMPqqp64sQJDQ0NVZPJpP7+/moymbRatWp68uRJqzGMRqM2b95clyxZkqN+dKfY2FgNCAhQo9Go1atX1xMnTmjVqlXV09NTvby8tGjRovrnn39ajZGWlqb/+9//1MPDQ41GoxqNRjUYDGowGLR06dL6/fff25XLzJkztVSpUhbrG41GLVWqlL7zzju52r672dNXk5KStGvXrurm5qYlSpTQcePGWbxXEhISbMbYv3+/li5dWo1Go5YvX16PHDmitWvXVk9PT/Xw8NDixYvb3D989913WU4mk0nff/9982NrnnrqKU1OTlZV1cuXL2tERIQaDAZ1cXFRg8GgderU0cTExGzXb9asmS5fvlxVVX/77Td1dXXV6tWra7du3bRmzZrq4eGhMTExVnMwGAzq7e2tzzzzjG7ZssXqstn55ptv1GQyqZ+fn3p7e+v69evV19dXW7Zsqa1bt1aTyaRLliyxGuPMmTP68MMPq8FgUJPJpEajUWvXrq0BAQFqMpn0f//7n808Ll26pB06dFCDwaC+vr5asWJFrVChgvn937FjR5ufH7bY00dPnTqldevWVaPRqCaTSXv16qWXL182t9vTR//44w/18fFRg8GgRYsW1W3btmnZsmW1QoUKWr58eXV3d9e//vrLaox33303y8lkMuno0aPNj61p0KCBuQ+ePXtWq1Wrpi4uLlqhQgV1c3PTkJAQm5+FDRo00B9//FFVVb/99ls1Go3aoUMHffnll/Wxxx5TZ2dnXbVqldUYGf2iZcuW+uWXX2pKSorV5bPywQcfqJOTk9auXVuLFCmin3/+uXp7e+uAAQN00KBB6u7urrNmzbIa4+DBg1q6dGn18/PTwMBANRgM2q5dO61Xr56aTCbt2rWruY7IzsmTJ7VGjRpqMpn0oYce0oiICG3VqpU+9NBDajKZtFatWjZf0387ivB/AXbIOdshq7JTvlth2Smrqv7www/av39//d///qdxcXEWbRcvXtRmzZpZXT81NVVfffVVbdKkiY4bN05VVadPn64eHh7q4uJiLnxyw9nZWfft22fXsj///LPFTmbJkiX60EMPqYeHh5YrV87mTl1VdcqUKeZC7+LFi9qiRQuLL/Zt2rSx2de9vLy0X79++vvvv9uVd1aOHj2qtWrVUpPJpJGRkZqUlKQtW7Y05/Lggw/qgQMHrMaYM2eOhoSEmAucjKlRo0a6bds2u/JYsWKFNmzYUF1cXMzru7i4aMOGDXXlypW53j5V+/rnu+++qx4eHjp06FDt0aOHurq66uTJk83t9nyODhs2TENDQ/W9997T8PBw7dixo1atWlV/++03/fXXX7Vq1ao6ZswYqzHufg3vLBrv/NdWjDNnzqiq6rx589TT01Pffvtt/f3333X27Nnq4+Ojs2fPthojMDDQ/H544okntGXLluYDKxcuXND27dtrly5drMYwGAzapk0bdXFx0aJFi+qwYcN0x44dVte5W0REhHbp0kV3796tL7zwglauXFm7du2qN2/e1NTUVO3Ro4e2bNnSaoyXX35Zw8LC9Ntvv9U1a9Zo48aNddq0aRoXF6evvfaaurq66s8//2w1xqRJk7RIkSI6depU3bFjh546dUr/+ecf3bFjh06dOlV9fHz09ddft7k9WR1kuXPatGmTzb/v888/rxUrVtSvv/5a58+fr6VLl9Z27dqZP/sSEhLUYDBYjdGxY0ft0KGD7tq1S4cPH66VK1fWjh076s2bNzUlJUU7duyoPXr0sBrjzj6Z3ZSTvvrSSy9p2bJl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dMSIEVqiRIlM92LYtm2b1S/jMTEx6uPjo+PHj9fZs2dr8eLFdezYsbpkyRIdN26c+vr62hwdZa2fqt7+DLR1GUmPHj20Xr16+vnnn+ujjz6qbdq00fr162tcXJzu379fmzZtavPyjccee0w7d+6sV65c0Zs3b+rw4cO1fPny5vYtW7bY/Jv06NFDq1evnuXoo61bt2qNGjVsHvhq3bq11Usr7Omj1apV02+++SbT/IxCPOPyJWtCQ0Mt+sMPP/yg165dMz/esmWLzYIxw8mTJ7V58+baunVrPX36dI77aGRkpD722GNatGhRi4POqrdPZFg7UK2qum/fPvXz89NevXrp66+/rl5eXtqjRw998803tVevXurq6qqLFi2yGsNWP01KSrI6YkxVdejQoVqhQgV944039OGHH9bevXtraGio/vTTT7pmzRqtVq2azaH1vXv31qZNm2pcXJweOXLEfKlnho0bN2pwcLDVGMOGDdPg4GD9+uuvLUZEXbp0Sb/++msNCQnR559/3mqMfzuK8EKAHbKle90hq7JTziqPe90pV6tWzeqZSnuKnMDAQN28eXOm+Rs3blQvLy999dVXbcbw9/e3GE3QsGFDi7OFcXFxNosL1dtfBEaNGqXlypXT3377TVVzXuRER0frzp07tXTp0ple27i4OJuF54wZMzQsLEwPHjyob7/9tjZo0MB84OvIkSMaHh5us39Y66dHjx7VsWPH2twZ1q9fX8eOHauqqgsXLjSf+c0wadIkrV27drbr16hRw2LHv2HDBvXw8DCfhd+/f7/NAyO1a9fWkSNHZts+cuRIqzm88MIL+sILL2TbfujQIQ0PD7eaw1NPPZVtjD179ugDDzxgs3+2adNG582bl237okWLbBadd9q7d68+9NBD+tRTT+W4f945vfnmmxbt8+fPt3n9oarq22+/rR4eHuru7m5xrb7BYNBOnTpZHMTKLo+cXh5xtz///FOLFSumRqPRfBaqXr16GhAQoEFBQerm5qbr16+3GmP9+vXq6uqqDz/8sDZp0kSdnJwsbqQ2Y8YMbd68udUYu3bt0oCAAC1atKh26tRJBw0apIMHD9ZOnTppsWLFNDAw0GLUUnY++ugjq5cQJSQk6IQJE6zGGDZsWLafDcnJyVqvXj2bfXXQoEE6f/78bNunTJmikZGRVmPc6dq1azpo0CCtUKGCmkwmu/tq06ZNNTw83DzdvZ+ZNGmSzYMbMTExWr9+/Uz9vmTJkjYv11LNm36akJCgLVu2VC8vL23btq0mJSXpsGHDzKMZK1SoYHFiIyuHDx/WBx98UJ2cnNTZ2Vl9fX0tRqAsWrTI4rM5K4mJidqmTRvzzcwqVaqkoaGhWrRoUTUajdq2bVub9xpZsWKFfvbZZ9m2X7x40eZosVGjRmlERESWbampqXYduJ8wYYJ+8cUX2baPGTNGH3/8casx7pSenq6TJ08231PH3j5690mHr776yqL9pZde0tatW9uMc+jQIe3WrZt6e3ub+6izs7Pd9z3Ji3565coVHTBggFatWlUHDx6sN2/e1BkzZpjvuxQeHm7zOc6cOWPxfitTpozFweevv/7aYtRjVlJSUnTw4MHm/Yqbm5u6ubmZ7wXz7LPP5vr+Pv8WFOGFADtkS3mxQ1a9f3bKhw4d0nLlypl3yj4+PgWyU+7Tp48OGTIk2/Z9+/bZvAaoY8eOmYZtZ4iOjlZPT0+b/bRZs2ZWd/5fffWV1WLtbhs2bNCQkBAdPXq0Ojs756jIufOaubv71NKlS7Vy5co24zz33HPq7OysoaGhFjsgo9GoderUMQ+XtZaHrX5qa0j6mjVr1M3NTV1cXNTd3V1//fVXrVixotatW1fr16+vJpMp02Uhd1q2bJk6OzvrE088ob169VIvLy+LPjlv3jyb19tu3LhRPT09tXLlyjp8+HCdMmWKTp06VYcPH65VqlRRLy+vLM9S54StG4Lt3LlTFy5cmG373r17bd4o5sKFC1bfSz/++GOm67NtSUlJ0REjRmiNGjXMIxZyenOzu61atUqnTJli17KJiYn61Vdf6dSpU3Xy5Mm6aNEi8zBTW3ksXrzY5l3R7dmWy5cv67Zt28xF//Xr1/Xjjz/W2bNn6/79++2KsXPnTh0zZoy++OKLWV5OZE+M5ORknTt3rvbq1UsjIiI0IiJCe/XqpR988ME939wyJy5evGj1s+ry5cs27xtgy9GjR7O8aZIt3333nQ4fPvye958Zjhw5oidOnLBr2bNnz+qWLVs0JiYm06Ul1hw7dsyuS3dy4/Dhw7p79267f+nh6tWrunbtWl21atU9/SpNXFycLly4UCdPnqyTJ0/WhQsXZroZqr3OnTuXo/vhqN4utO98T9wd49atWzn+1Zy7Y1y9ejXHv7pw7tw5/eOPP3TWrFnmm8Tl1N15XLlyRa9fv273+mlpaRofH6/x8fH3VGjm5u+SXYzr16/bvJ78bn///bfu3r1bz549m+s8kpKSNCoqSpcuXapLly7VqKgoh36WFiSK8PvExYsXrR6Bz4sd8pEjR2wWBFnJ6x3y4cOHc/SzBYV5p2zrJxwyFIad8o0bN+75J9s2btxocbfpu0VHR2ufPn2sxjhw4IDVn5hbsmSJ1YIxK+fPn9fHHntMfX19rQ6JvtPd18jdvQP65JNP7P5pwX379un06dN18ODBOnDgQB0/fryuXbvWrv43YcKEPPkpvcOHD+s333xj/lJ0+vRpHTt2rL744otWr9vK8OOPP+rTTz+tnTt3zjQc7vz583btoI8ePaqjRo3SJk2aaMWKFbVixYrapEkTffnll3P03r3TpUuXdM6cOVqzZk277t5fmGMkJiYWijwyYtSqVatQ5FHQ25JTGzZs0LCwsCy/aF66dEkrV65s84CTPTHuvsdEQeWR3zEKQw6FKUZeSUxM1CFDhqifn595BIyfn58OHTrU5kF7YhADtlGEFwJt27a1uB7ijTfesOjA58+ft+vnAohBDAC3bdiwQbt3767u7u4aGhqqr776qm7fvp0YxMizGHe7efOmxX1VsvPoo49aHQ3x7rvv2vzZJWIUrhwKUwxbLl68aPMA8YULF7RixYrq6empAwcO1HfeeUdnzpypzzzzjHp6empoaKjNs8iFPcbAgQMLRR7/1Ri2JCQk6MSJE+8pRmFHEV4I3D2c9O67uNpzs6q7rwvNTQzyuH9j2GLPTtnWXfyNRqOaTCZi/Adj5EUOeeHEiRP6+uuva9myZbVEiRI6bNiwHF1HTQxi3At7fote9favmVi7y3pcXJzN+zgQo3DlUJhi2GJPP33hhRe0atWqmpCQkKnt9OnTWq1aNR0+fDgxiJHrGLbY+3n6b+YkKHRU9Z7XyU0M8rh/Y9gSHx8vffv2lV69emW7zMqVK7Nti4mJkdmzZ9vMjRh5H2PFihViMBgKNI+82A5bdu7cKbVq1ZK0tLQs2yMjI+W3336T9u3by+zZs6VNmzZiMplk3rx5dj8HMYjhCGfOnBFnZ+ds252cnOTcuXPEsDNGYcihMMVITk622n758mWr7SIi3377rXz44Yfi7++fqS0gIECmT58ugwcPlnfeeYcYxMhVjF27dmXbJiJy4MABq+33BcfV+8jO3Wd+7/4dxNycPSYGMe6UlJRkddq0aVOujjjGxcVpp06d1GQyaa9evewaikmM/0aMvMjhTrZ+JcJkMumIESMy/S5tTs50EoMY1tSsWdPqFBoaatfn6IMPPqgrVqzItn358uVatmxZYtgZozDkUJhi2BqZlNFujYuLi9Wb4Z04ccLmT6MSgxjW3H1z2zsne/vpv52xoA8CQMRgMGQ6k5XdmS1iECM3MXx9faVo0aLZTk2aNMlRvFOnTskzzzwj1atXl1u3bklsbKx88sknEhISQoz/eIzcrv/4449bnUaOHGm132/atEkuX74sderUkXr16sn7779v84wRMYiRE/v27ZPq1atLx44ds5yaNm1qV5zIyEgZN26c3LhxI1Pb9evXZfz48dK+fXti2BmjMORQmGJ4e3vLlClTJCoqKsvpo48+srq+iEjx4sXl2LFj2bYfPXpU/Pz8iEGMXMfw8/OT+fPny9GjRzNNR44ckR9++MHq+vcDg2o+jG1FjhiNRmnbtq24urqKiMiqVaukefPm4unpKSIiKSkpsmbNmmyHYRKDGLZi+Pj4yKuvvir16tXLsv3gwYMyaNAgqzFERJKSkmTy5Mkye/ZsqVGjhkybNk0aN25sdR1i/Ddi3Ov6zs7O0qpVqyyHt4mIXLx4UX744QebffTatWvy5ZdfysKFC+XPP/+UtLQ0mTlzpvTr10+8vb3tyoUYxMhKnTp1pH///vLss89m2R4bGyu1a9e22UfPnDkjtWrVEpPJJMOGDZNKlSqJwWCQuLg4mTNnjqSlpcn27duzfS8Qo/DlUJhiNGvWTNq2bSujRo3Ksn3nzp1Ss2ZNSU9PzzZG//795dChQ7Ju3TpxcXGxaEtJSZHWrVtLuXLlZMGCBcQgRq5itGnTRh555BEZO3Zslu329NN/O4rwQqBv3752Lbdo0SJiECNXMfJipzx9+nSZNm2aBAQEyOTJk6Vjx4525UWM+z9GXuRQvXp1eeGFF6R///5Ztttb4NzpwIEDsmDBAvnss8/k0qVL0qpVK/n+++9zlBcxiJFh+PDhIiIya9asLNsPHz4sAwYMkOjoaJvPffz4cXn22Wfl559/Nt8vwWAwSOvWrWXu3LlSpkwZYuQgRmHIobDEmD9/vly7dk1eeOGFLNvPnDkj8+bNk/Hjx2cb4+TJk1KnTh1xdXWVoUOHSmhoqIjcHg0yd+5cSUlJkW3btklwcDAxiJGrGCtXrpSrV69Kjx49smxPTEyU77//Xnr37p1tjH87inDgPyAvdspGo1Hc3d2lZcuWYjKZsl1uxYoVxPiPxciLHPr27SseHh4yZ86cLNvj4uIkMjJSjh49mm2M7KSlpcmqVatk4cKFOS7UiEGMnIiNjZUaNWrYvXxiYqIcOnRIVFUqVKggRYsWzfFzEqNw5VCYYtyLo0ePypAhQ2Tt2rUWBwNatWol77//vpQvX54YxLinGHc6f/68GAwGm8PY7ycU4QDs0qdPH7uuRbd2Rp4Y92eMvMghJSVF0tLSxMPDw2YcoDBJSkqSJUuWyMcffyw7d+7M0WgNIK9FRUXJsGHDZMuWLVKkSBGLtqSkJGnYsKHMmzfP7suFEhMT5eDBgyIiUr58eSlWrFiOcyIGMbJy6dIlefXVV2XZsmWSmJgoIiJFixaVJ598Ut544w3x9fXNcT7/JhThwH9AZGSkfPHFF+Lj4yMiIm+++aYMHTrU/AF34cIFady4sezbt68AswSAf4+oqChZuHChrFixQkqXLi2dO3eWzp07S82aNQs6NfyHdejQQZo1ayYjRozIsv29996T6Ohoqz8tCeS3ixcvSoMGDeSff/6R7t27S1hYmKiqxMXFydKlSyU4OFhiYmIcPgLEkSjCgf8Ao9EoCQkJUqJECRERKVKkiMTGxsqDDz4oIreHowcFBXEGBwXGaDTaPJtuMBjk1q1bDsoIyOzkyZOyePFiWbhwoVy9elWeeOIJmTdvnuzcuVMqV65c0OkBUrp0aVmzZo2EhYVl2b5//36JiIiQ+Ph4B2cG/L/hw4fLhg0bZP369ZluNJiQkCARERHSokULq781/m/nVNAJAHA8jr2hsLF2ViYmJkZmz55Nv0WBioyMlN9++03at28vs2fPljZt2ojJZJJ58+YVdGqA2ZkzZ8TZ2Tnbdicnpxz/PB+Q17799lv58MMPs7zTf0BAgEyfPl0GDx5MEQ4AQH7K6o7q+/fvl9GjR8uqVauke/fu8vrrrxdAZsBta9euleeff16effZZqVChQkGnA2SpZMmSsnv37mxvjLVr1y4JDAx0cFaApdOnT0uVKlWyba9ataokJCQ4MCPHMxZ0AgDyn8FgyDTU154baQEF4dSpU/LMM89I9erV5datWxIbGyuffPKJhISEFHRq+A/btGmTXL58WerUqSP16tWT999/nzOKKHQiIyNl3LhxcuPGjUxt169fl/Hjx0v79u0LIDPg/xUvXlyOHTuWbfvRo0fv+zulc0048B9gNBqlbdu24urqKiIiq1atkubNm4unp6eI3L4z9Zo1a7gmHAUqKSlJJk+eLLNnz5YaNWrItGnT7L6DL+Ao165dky+//FIWLlwof/75p6SlpcnMmTOlX79+4u3tXdDp4T/uzJkzUqtWLTGZTDJs2DCpVKmSGAwGiYuLkzlz5khaWpps3749y2HAgKP0799fDh06JOvWrRMXFxeLtpSUFGndurWUK1dOFixYUEAZ5j+KcOA/oG/fvnYtZ+0npID8NH36dJk2bZoEBATI5MmTsxyeDhQ2Bw4ckAULFshnn30mly5dklatWt3zb40D9+r48ePy7LPPys8//2zxG86tW7eWuXPnSpkyZQo2QfznnTx5UurUqSOurq4ydOhQCQ0NFRGRffv2ydy5cyUlJUW2bdsmwcHBBZxp/qEIBwAUOKPRKO7u7tKyZUsxmUzZLrdixQoHZgXYJy0tTVatWiULFy6kCEehkZiYKIcOHRJVlQoVKtzXP/eEf5+jR4/KkCFDZO3atRYHi1q1aiXvv/9+tvc1uF9QhAMAClyfPn3suk8BozUAALh/JCYmysGDB0VEpHz58lKsWLECzsgxKMIBAAAAAHAQ7o4OAAAAAICDUIQDAAAAAOAgFOEAAAAAADgIRTgAAAAAAA5CEQ4AAAAAgINQhAMAAAAA4CAU4QAAAAAAOAhFOAAAAAAADvJ/1BfZnZlre1wAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.utilities import styled_bar_plot\n", "styled_bar_plot(X[0], 'Ratings of the First Participant', var_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get a rough overview of how the first participant rated. \n", "Yet, it is hard to read because of the __negatively keyed statements__. For example, it would be nice to tell the participant's extraversion from the plot. \n", "\n", "To fix this we invert the ratings of all negatively keyed statements. \n", "Moreover, we tag the name of all inverted variables by changing, e.g., \"E2\" to \"¬E2\", and the same for the variable labels.\n", "This will considerably improve interpretability." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:23.751290Z", "start_time": "2024-04-25T13:55:23.694390Z" } }, "outputs": [], "source": [ "from src.utilities import keying\n", "\n", "keyed_X = X * np.asarray(keying)\n", "keyed_var_names = np.asarray([l if neg==1 else f'¬{l}' for l, neg in zip(var_names, keying)])\n", "keyed_var_labels = np.asarray([s if neg==1 else f'¬{s}' for s, neg in zip(var_labels, keying)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us have a look at the answers of the first participant again." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:24.102185Z", "start_time": "2024-04-25T13:55:23.699053Z" } }, "outputs": [ { "data": { "image/png": "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9+/fNz4iIiLk7t27smPHDhERKVq0qDRv3lwiIyONXbgXL14sV65ckf79+xtj/vTTT1KvXj3x8/Mzide0aVMReXjGVkRk8+bN4unpKS1btjTJqWPHjunavg4dOoijo6O4ublJrVq15Pr167J69Wrj2bokmzZtkoYNG4qXl5fY29uLo6OjjBkzRq5cuSIXL15M12s+7vFtKFeunNy9e9cYN2mbX3zxRZPlXn755WSxqlWrJgsWLJCJEyfKjh075N69exZf/9atW/Lnn39K+/btTUYst7e3l06dOsmZM2fkyJEj6d4uSwwGg7Ro0cJkWrly5YxdsEUetoe8efNKixYtTNpDhQoVpFChQmke1XzDhg2yc+dO42PNmjUW12nXrp3J8+LFi0u+fPnkzTfflDlz5sg///yTptdOi8jISHF0dBQnJycJDQ2Vbdu2yYQJE6Rv374iInLx4kXp06ePBAQEiIODgzg6OkpgYKCIiBw6dMhi7un1888/S3BwsDRs2DBD67/yyismz8PCwiQwMFA2b95snJbebbL0OQEAJEd3dAB4Ar399ttSoUIFmTBhgiQmJsrXX39t7MZ75coVuX//vnz88cfy8ccfp7j+o9d3Dhw4UBo0aCDr16+X8PBwmT17ttSsWVMqVapkXObChQuyatWqZF1RH4935coV8fHxSTa/UKFC6dq+KVOmSP369eX27duybt06mTx5srRu3Vr+/PNPY1frv/76S8LDw6Vu3bry+eefG69VX7lypbz77rty586ddL3m4woUKGDyPOl1k+JeuXJFHBwcJH/+/CbLpbT9S5culYkTJ8oXX3whb7/9tnh4eEibNm1k6tSpqb43sbGxoqopdk328/Mz5mBtbm5u4uLiYjLN2dlZ7t69a3x+4cIFuXbtmjg5OaUY4/Hrh1NTvnz5VAdmSy23x7sye3l5ydatW+Xdd9+Vt956S2JjY8XX11d69eolo0ePTrXNpsWLL74o//vf/8RgMIinp6cUK1bM+DlLTEyU8PBwOXfunLz99ttStmxZcXd3l8TERKlRo0aK7S+1buZpdenSJeOlFxmRUlsrVKiQsR1lZJssfU4AAMlRhAPAE2r8+PFiMBhk/PjxkpiYKIsWLRIHBwfJly+f8Wxpv379Ulw3KCjI+P/69etLmTJlZNasWeLh4SG7d++Wr7/+2mR5b29vKVeunLz7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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "styled_bar_plot(keyed_X[0], 'Keyed Ratings of the First Participant', keyed_var_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plot has a remarkably clear structure! It allows for an easy characterization:\n", "- The first participant gives a high rating to most statements of the factors E, A, C, and O. Clearly, the participant seems to be an extroverted, agreeable, and conscientious person that is open to experience.\n", "- Contrarily, all N statements are rated low, so the participant is not neurotic.\n", "\n", "This seems like a plausible, even _typical_, combination of the factors. \n", "But did we just pick someone with such a clear profile by chance, or does this combination correspond to a typical mindset within all participants of the survey?\n", "We will investigate this question in the later section on typical mindsets." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Surveys and Features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our library provides a convenient helper object for preparing survey data for tangle analysis.\n", "We prepare the data by initializing a `Survey` object and a `SurveyFeatureFactory` object. \n", "\n", "First, we set up the `Survey` object, which manages survey data and its corresponding metadata." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:24.992580Z", "start_time": "2024-04-25T13:55:24.099977Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idnametypelabelvalid_valuesinvalid_valuesis_usablenum_valid_answersnum_unique_answers
E10E1numericalI am the life of the party.{}{}True1936010326
¬E21¬E2numerical¬I don't talk a lot.{}{}True1936010580
E32E3numericalI feel comfortable around people.{}{}True1936010196
¬E43¬E4numerical¬I keep in the background.{}{}True1936010275
E54E5numericalI start conversations.{}{}True1936010217
¬E65¬E6numerical¬I have little to say.{}{}True193609975
E76E7numericalI talk to a lot of different people at parties.{}{}True1936010556
¬E87¬E8numerical¬I don't like to draw attention to myself.{}{}True1936010379
E98E9numericalI don't mind being the center of attention.{}{}True1936010607
¬E109¬E10numerical¬I am quiet around strangers.{}{}True1936010225
N110N1numericalI get stressed out easily.{}{}True1936010044
¬N211¬N2numerical¬I am relaxed most of the time.{}{}True1936010201
N312N3numericalI worry about things.{}{}True193609260
¬N413¬N4numerical¬I seldom feel blue.{}{}True1936010281
N514N5numericalI am easily disturbed.{}{}True1936010045
N615N6numericalI get upset easily.{}{}True193609939
N716N7numericalI change my mood a lot.{}{}True193609798
N817N8numericalI have frequent mood swings.{}{}True193609858
N918N9numericalI get irritated easily.{}{}True193609884
N1019N10numericalI often feel blue.{}{}True1936010059
¬A120¬A1numerical¬I feel little concern for others.{}{}True1936010004
A221A2numericalI am interested in people.{}{}True193609362
¬A322¬A3numerical¬I insult people.{}{}True193609795
A423A4numericalI sympathize with others' feelings.{}{}True193608994
¬A524¬A5numerical¬I am not interested in other people's problems.{}{}True193609611
A625A6numericalI have a soft heart.{}{}True193609405
¬A726¬A7numerical¬I am not really interested in others.{}{}True193609407
A827A8numericalI take time out for others.{}{}True193609392
A928A9numericalI feel others' emotions.{}{}True193609048
A1029A10numericalI make people feel at ease.{}{}True193609456
C130C1numericalI am always prepared.{}{}True1936010046
¬C231¬C2numerical¬I leave my belongings around.{}{}True1936010582
C332C3numericalI pay attention to details.{}{}True193609066
¬C433¬C4numerical¬I make a mess of things.{}{}True1936010050
C534C5numericalI get chores done right away.{}{}True1936010433
¬C635¬C6numerical¬I often forget to put things back in their pr...{}{}True1936010453
C736C7numericalI like order.{}{}True193609933
¬C837¬C8numerical¬I shirk my duties.{}{}True193609818
C938C9numericalI follow a schedule.{}{}True1936010394
C1039C10numericalI am exacting in my work.{}{}True193609338
O140O1numericalI have a rich vocabulary.{}{}True193609821
¬O241¬O2numerical¬I have difficulty understanding abstract ideas.{}{}True193609469
O342O3numericalI have a vivid imagination.{}{}True193608783
¬O443¬O4numerical¬I am not interested in abstract ideas.{}{}True193609326
O544O5numericalI have excellent ideas.{}{}True193608948
¬O645¬O6numerical¬I do not have a good imagination.{}{}True193608764
O746O7numericalI am quick to understand things.{}{}True193608791
O847O8numericalI use difficult words.{}{}True1936010294
O948O9numericalI spend time reflecting on things.{}{}True193608598
O1049O10numericalI am full of ideas.{}{}True193608758
\n", "
" ], "text/plain": [ " id name type label \\\n", "E1 0 E1 numerical I am the life of the party. \n", "¬E2 1 ¬E2 numerical ¬I don't talk a lot. \n", "E3 2 E3 numerical I feel comfortable around people. \n", "¬E4 3 ¬E4 numerical ¬I keep in the background. \n", "E5 4 E5 numerical I start conversations. \n", "¬E6 5 ¬E6 numerical ¬I have little to say. \n", "E7 6 E7 numerical I talk to a lot of different people at parties. \n", "¬E8 7 ¬E8 numerical ¬I don't like to draw attention to myself. \n", "E9 8 E9 numerical I don't mind being the center of attention. \n", "¬E10 9 ¬E10 numerical ¬I am quiet around strangers. \n", "N1 10 N1 numerical I get stressed out easily. \n", "¬N2 11 ¬N2 numerical ¬I am relaxed most of the time. \n", "N3 12 N3 numerical I worry about things. \n", "¬N4 13 ¬N4 numerical ¬I seldom feel blue. \n", "N5 14 N5 numerical I am easily disturbed. \n", "N6 15 N6 numerical I get upset easily. \n", "N7 16 N7 numerical I change my mood a lot. \n", "N8 17 N8 numerical I have frequent mood swings. \n", "N9 18 N9 numerical I get irritated easily. \n", "N10 19 N10 numerical I often feel blue. \n", "¬A1 20 ¬A1 numerical ¬I feel little concern for others. \n", "A2 21 A2 numerical I am interested in people. \n", "¬A3 22 ¬A3 numerical ¬I insult people. \n", "A4 23 A4 numerical I sympathize with others' feelings. \n", "¬A5 24 ¬A5 numerical ¬I am not interested in other people's problems. \n", "A6 25 A6 numerical I have a soft heart. \n", "¬A7 26 ¬A7 numerical ¬I am not really interested in others. \n", "A8 27 A8 numerical I take time out for others. \n", "A9 28 A9 numerical I feel others' emotions. \n", "A10 29 A10 numerical I make people feel at ease. \n", "C1 30 C1 numerical I am always prepared. \n", "¬C2 31 ¬C2 numerical ¬I leave my belongings around. \n", "C3 32 C3 numerical I pay attention to details. \n", "¬C4 33 ¬C4 numerical ¬I make a mess of things. \n", "C5 34 C5 numerical I get chores done right away. \n", "¬C6 35 ¬C6 numerical ¬I often forget to put things back in their pr... \n", "C7 36 C7 numerical I like order. \n", "¬C8 37 ¬C8 numerical ¬I shirk my duties. \n", "C9 38 C9 numerical I follow a schedule. \n", "C10 39 C10 numerical I am exacting in my work. \n", "O1 40 O1 numerical I have a rich vocabulary. \n", "¬O2 41 ¬O2 numerical ¬I have difficulty understanding abstract ideas. \n", "O3 42 O3 numerical I have a vivid imagination. \n", "¬O4 43 ¬O4 numerical ¬I am not interested in abstract ideas. \n", "O5 44 O5 numerical I have excellent ideas. \n", "¬O6 45 ¬O6 numerical ¬I do not have a good imagination. \n", "O7 46 O7 numerical I am quick to understand things. \n", "O8 47 O8 numerical I use difficult words. \n", "O9 48 O9 numerical I spend time reflecting on things. \n", "O10 49 O10 numerical I am full of ideas. \n", "\n", " valid_values invalid_values is_usable num_valid_answers \\\n", "E1 {} {} True 19360 \n", "¬E2 {} {} True 19360 \n", "E3 {} {} True 19360 \n", "¬E4 {} {} True 19360 \n", "E5 {} {} True 19360 \n", "¬E6 {} {} True 19360 \n", "E7 {} {} True 19360 \n", "¬E8 {} {} True 19360 \n", "E9 {} {} True 19360 \n", "¬E10 {} {} True 19360 \n", "N1 {} {} True 19360 \n", "¬N2 {} {} True 19360 \n", "N3 {} {} True 19360 \n", "¬N4 {} {} True 19360 \n", "N5 {} {} True 19360 \n", "N6 {} {} True 19360 \n", "N7 {} {} True 19360 \n", "N8 {} {} True 19360 \n", "N9 {} {} True 19360 \n", "N10 {} {} True 19360 \n", "¬A1 {} {} True 19360 \n", "A2 {} {} True 19360 \n", "¬A3 {} {} True 19360 \n", "A4 {} {} True 19360 \n", "¬A5 {} {} True 19360 \n", "A6 {} {} True 19360 \n", "¬A7 {} {} True 19360 \n", "A8 {} {} True 19360 \n", "A9 {} {} True 19360 \n", "A10 {} {} True 19360 \n", "C1 {} {} True 19360 \n", "¬C2 {} {} True 19360 \n", "C3 {} {} True 19360 \n", "¬C4 {} {} True 19360 \n", "C5 {} {} True 19360 \n", "¬C6 {} {} True 19360 \n", "C7 {} {} True 19360 \n", "¬C8 {} {} True 19360 \n", "C9 {} {} True 19360 \n", "C10 {} {} True 19360 \n", "O1 {} {} True 19360 \n", "¬O2 {} {} True 19360 \n", "O3 {} {} True 19360 \n", "¬O4 {} {} True 19360 \n", "O5 {} {} True 19360 \n", "¬O6 {} {} True 19360 \n", "O7 {} {} True 19360 \n", "O8 {} {} True 19360 \n", "O9 {} {} True 19360 \n", "O10 {} {} True 19360 \n", "\n", " num_unique_answers \n", "E1 10326 \n", "¬E2 10580 \n", "E3 10196 \n", "¬E4 10275 \n", "E5 10217 \n", "¬E6 9975 \n", "E7 10556 \n", "¬E8 10379 \n", "E9 10607 \n", "¬E10 10225 \n", "N1 10044 \n", "¬N2 10201 \n", "N3 9260 \n", "¬N4 10281 \n", "N5 10045 \n", "N6 9939 \n", "N7 9798 \n", "N8 9858 \n", "N9 9884 \n", "N10 10059 \n", "¬A1 10004 \n", "A2 9362 \n", "¬A3 9795 \n", "A4 8994 \n", "¬A5 9611 \n", "A6 9405 \n", "¬A7 9407 \n", "A8 9392 \n", "A9 9048 \n", "A10 9456 \n", "C1 10046 \n", "¬C2 10582 \n", "C3 9066 \n", "¬C4 10050 \n", "C5 10433 \n", "¬C6 10453 \n", "C7 9933 \n", "¬C8 9818 \n", "C9 10394 \n", "C10 9338 \n", "O1 9821 \n", "¬O2 9469 \n", "O3 8783 \n", "¬O4 9326 \n", "O5 8948 \n", "¬O6 8764 \n", "O7 8791 \n", "O8 10294 \n", "O9 8598 \n", "O10 8758 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from tangles.convenience import Survey\n", "\n", "survey = Survey(pd.DataFrame(keyed_X, columns = keyed_var_names))\n", "survey.set_variable_labels(keyed_var_labels)\n", "survey.set_variable_types('numerical')\n", "\n", "survey.variable_info() # checking that everything is set up correctly" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Everything looks just as expected. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we will __define the features__. \n", "\n", "For each statement we define a feature that contains all participants who \"agree\" with the statement. For our purposes, we say that a participant _agrees_ with a statement, if the participant's rating of the statement is greater than the median of all ratings of that statement.\n", "Conversely, we say that the participant disagrees, if the rating is less than or equal to the median.\n", "\n", "To implement this, we configure a `SurveyFeatureFactory`. Together with the `Survey` object, this will be all we need to search for tangles." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:25.003337Z", "start_time": "2024-04-25T13:55:24.990617Z" } }, "outputs": [], "source": [ "from tangles.convenience import SimpleSurveyFeatureFactory\n", "\n", "# the invalid_values parameter is solely for compatibility with the feature factory \n", "def split_at_median(single_col, invalid_values):\n", " single_col = np.array(single_col)\n", " median = np.median(single_col, axis=0)\n", " feature = (single_col > median).astype(int) - (single_col <= median)\n", " metadata = np.empty(1, dtype=object)\n", " metadata[0] = ('>', median)\n", " return feature[..., np.newaxis], metadata\n", "\n", "def create_median_feature_factory(survey):\n", " median_feature_factory = SimpleSurveyFeatureFactory(survey)\n", " median_feature_factory.numvar_func = split_at_median\n", " return median_feature_factory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the median to define the features is but one of many options. A different definition comes with a different interpretation of the features and, consequently, a different interpretation of the tangles we will find. \n", "\n", "The possibility to choose the definition of the features is an important tool in the tangle search process that opens up possibilities for the user to customise their analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Verifying the Coherence of the Factors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We saw above that an extroverted person will probably rate all ten statements related to extraversion high (after reversing negatively keyed statements), indicating that all ten statements hold for this person. Thus, we suspect that if for a participant one of the E statements holds, typically all other E statements hold as well. We will verify that this is indeed the case." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 The coherence of factor E (extraversion)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To do this, we search for tangles on the ten features corresponding to the statements E1, E2, ..., E10. Using `select_questions()`, we create a new survey that contains only E statements, and the `SurveyTangles.search()` method lets us search for tangles on the features created for those statements." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:25.088871Z", "start_time": "2024-04-25T13:55:24.996641Z" }, "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "creating features... finished \n", "[ tree height=10, number of tangles=3, limit=3207.0 ]: appending finished \n" ] } ], "source": [ "from tangles.convenience import SurveyTangles\n", "\n", "E_questions = survey.select_questions(lambda variable: 'E' in variable.name)\n", "\n", "agreement = 4000\n", "tangles = SurveyTangles.search(E_questions, agreement, feature_factory=create_median_feature_factory(E_questions))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A brief word on the __agreement value__: \n", "As a rule of thumb, 10% of the data set size (in this case approximately 2000) is a good value to start with and will often yield multiple interpretable tangles.\n", "\n", "So why do we use agreement 4000? Because we are interested in only the most typical combinations of statement ratings. That is, in terms of tangle terminology, the tangles with the highest agreement. By a little trial and error, agreement of 4000 turns out to be a good value, giving us the first complete tangles.\n", "\n", "Let's inspect the tangles we found using the tangle matrix." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:25.287644Z", "start_time": "2024-04-25T13:55:25.068743Z" } }, "outputs": [ { "data": { "image/png": "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RKQaJhZERESkGiYWREREpBomFkRERKQaJhZERESkmiolFkuXLkXTpk2h0+kQGBiIffv2qR0XERER1UCVTizi4+MxadIkvPvuuzh69Ch69uyJ/v3749KlS9URHxEREdUglU4sFi9ejNGjR2PMmDHw8/PDRx99hEaNGmHZsmXVER8RERHVIJVKLH799Vf88MMPCAsLMygPCwvDwYMHS52noKAAt2/fNngRERFR7VSpxOLGjRt48OABGjRoYFDeoEEDXLt2rdR55s+fDxcXF/2rUaNGVY+WiIiILFqVLt5UFMVgWkSMyopNmzYNOTk5+tfly5erskoiIiKqAawr09jd3R0ajcbo6MR///tfo6MYxbRaLbRabdUjJCIiohqjUkcsbG1tERgYiKSkJIPypKQkdO/eXdXAiIiIqOap1BELAHjzzTcRERGBzp0748knn8Rnn32GS5cuYfz48dURHxEREdUglU4shg8fjqysLMyePRtXr15FmzZtsHXrVvj4+FRHfERERFSDVDqxAIAJEyZgwoQJasdCRERENRx/K4SIiIhUw8SCiIiIVMPEgoiIiFTDxIKIiIhUw8SCiIiIVMPEgoiIiFTDxIKIiIhUw8SCiIiIVMPEgoiIiFTDxIKIiIhUw8SCiIiIVMPEgoiIiFTDxIKIiIhUw8SCiIiIVMPEgoiIiFTDxIKIiIhUw8SCiIiIVGNtrhUfGvUtnJ1szbV6IiIiqoTbub/C46OK2/GIBREREamGiQURERGphokFERERqYaJBREREamGiQURERGphokFERERqYaJBREREamGiQURERGphokFERERqYaJBREREamGiQURERGphokFERERqYaJBREREamGiQURERGphokFERERqYaJBREREamGiQURERGphokFERERqYaJBREREamGiQURERGpptKJxX/+8x8MGjQIXl5eUBQFCQkJ1RAWERER1USVTizy8/PRvn17fPrpp9URDxEREdVg1pWdoX///ujfv391xEJEREQ1XKUTi8oqKChAQUGBfvr27dvVvUoiIiIyk2q/eHP+/PlwcXHRvxo1alTdqyQiIiIzqfbEYtq0acjJydG/Ll++XN2rJCIiIjOp9lMhWq0WWq22uldDREREFoDPsSAiIiLVVPqIRV5eHs6fP6+fTk9PR2pqKlxdXdG4cWNVgyMiIqKapdKJxeHD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.utilities import plot_tangle_matrix\n", "\n", "tangle_matrix = tangles.tangle_matrix()\n", "plot_tangle_matrix(tangle_matrix, f'Tangle Matrix for Factor E (agreement={agreement})', E_questions.variable_info()['name']);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Row by row, the tangle matrix shows all tangles that were found. Focusing on one tangle, the column entries specify how the tangle orients the features identified by the labels of the columns. Here, a blue entry indicates disagreement to the statement and a yellow entry indicates agreement to the statement." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We find two very characteristic tangles. That's a great result! Let's interpret them: \n", "The two most typical ways to rate the statements of factor E is to \n", "- either agree to none of them (tangle 0)\n", "- or to agree to all of them (tangle 1).\n", "\n", "Thus, we verified that the statements of factor E form a coherent structure within the dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 The coherence of all factors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check the same for all five factors. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:25.290276Z", "start_time": "2024-04-25T13:55:25.271124Z" } }, "outputs": [], "source": [ "agreements = {'E': 4000, 'N': 3500, 'A': 3000, 'C': 3000, 'O': 2600}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We found the agreement values as we did for the factor E above. \n", "\n", "The fact that for factor O the agreement needs to be chosen smaller than for factor E is interesting: \n", "We can think of the agreement value as a measure of how typical the tangle is: the fact that the O tangles have a lower agreement value than the E tangles indicates that agreeing or disagreeing to all O factors is less typical than agreeing or disagreeing to all E factors." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:26.462274Z", "start_time": "2024-04-25T13:55:25.274910Z" } }, "outputs": [ { "data": { "image/png": "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48ePYWdnB4VCYejwRJRJiQiio6Ph4eGR5ptO6hNzFBFpk1lyVJIyi2rDRGmdrjGudN6Wrvv/WNW9BgtFRAbAHEVEmRlzFBF9KYMPpD9+/Bg5cuQwdFgi+ko8ePAAnp6eGRafOYqIUpLROYqIiIiIiIgyhsEH0u3s7AAA2bsuTvczgET09UiMeYtH89qpckRGYY4iIm0yS44iIiIiIiKijGHwgfSkpRJMlNYcpCIiDRm9nApzFBGlJKNzFBEREREREWWMjF/kk4iIiIiIiIiIiIgoE+NAOhERERERERERERFRCjiQTkRERERERERERESUAg6kExERERERERERERGlgAPpREREREREREREREQp4EA6EREREREREREREVEKvmggfe7cucidOzcsLS1RqlQpHDx4UN/tIiL6YsxRRERERERERESkT2keSA8JCUGvXr0wdOhQnDlzBlWqVEFAQADu37+fHu0jIkoT5igiIiIiIiIiItK3NA+kT58+HR07dkRQUBB8fHwwY8YM5MiRA/PmzUuP9hERpQlzFBERERERERER6VuaBtJjY2Nx6tQp1KpVS217rVq1cPjwYa2viYmJwatXr9QeRETpgTmKiIiIiIiIiIjSQ5oG0p8/f46EhARkzZpVbXvWrFkRHh6u9TUTJkyAg4OD6pEjR44vby0RUQqYo4iIiIiIiIiIKD180c1GFQqF2nMR0diWZPDgwYiKilI9Hjx48CUhiYhSjTmKiIiIiIiIiIj0ySwtlV1dXWFqaqoxs/Pp06caM0CTKJVKKJXKL28hEVEqMUcREREREREREVF6SNOMdAsLC5QqVQq7d+9W2757925UrFhRrw0jIkor5igiIiIiIiIiIkoPaZqRDgB9+vRB69atUbp0aVSoUAF//vkn7t+/jy5duqRH+4iI0oQ5ioiIiIiIiIiI9C3NA+k//PADXrx4gTFjxiAsLAyFCxfGP//8Ay8vr/RoHxFRmjBHERERERERERGRvqV5IB0AunXrhm7duum7LUREesEcRURERERERERE+pSmNdKJiIiIiIiIiIiIiL41HEgnIiIiIiIiIiIiIkoBB9KJiIiIiIiIiIiIiFLAgXQiIiIiIiIiIiIiohRwIJ2IiIiIiIiIiIiIKAUcSCciIiIiIiIiIiIiSoFZRgU+0X4n7O0sMio8EWUyr6Jj4T4jo1vxf5ijiOhjmS1HGYLPH/UMF6yGAWMRGaHEmLfAmeYZ3QyDYo4i+nowR6Uz5iginaQlR3FGOhERERERERERERFRCjiQTkRERERERERERESUAg6kExERERERERERERGlgAPpREREREREREREREQp4EA6EREREREREREREVEKOJBORERERERERERERJQCDqQTEREREREREREREaWAA+lERERERERERERERCngQDoRERERERERERERUQrSPJD+77//on79+vDw8IBCocDGjRvToVlERF+GOYqIMqsJEyagTJkysLOzg5ubGxo1aoRr165ldLOIiAAwRxFR5sYcRUSZQZoH0t+8eYNixYph9uzZ6dEeIiKdMEcRUWZ14MABdO/eHUePHsXu3bsRHx+PWrVq4c2bNxndNCIi5igiytSYo4goMzBL6wsCAgIQEBCQ6voxMTGIiYlRPX/16lVaQxIRpRpzFBFlVjt27FB7vmjRIri5ueHUqVOoWrWq1tcwRxGRoTBHEVFmxhxFRJlBuq+RPmHCBDg4OKgeOXLkSO+QRESpxhxFRBklKioKAODs7JxsHeYoIsoozFFElJkxRxFRRkj3gfTBgwcjKipK9Xjw4EF6hyQiSjXmKCLKCCKCPn36oHLlyihcuHCy9ZijiCgjMEcRUWbGHEVEGSXNS7uklVKphFKpTO8wRERfhDmKiDLCL7/8gvPnz+PQoUMp1mOOIqKMwBxFRJkZcxQRZZR0H0gnIiIiov/z66+/YvPmzfj333/h6emZ0c0hIlLDHEVEmRlzFBFlJA6kExERERmAiODXX3/Fhg0bsH//fuTOnTujm0REpMIcRUSZGXMUEWUGaR5If/36NW7evKl6fufOHZw9exbOzs7ImTOnXhtHRJRWzFFElFl1794dK1euxKZNm2BnZ4fw8HAAgIODA6ysrDK4dUT0rWOOIqLMjDmKiDKDNN9s9OTJkyhRogRKlCgBAOjTpw9KlCiBESNG6L1xRERpxRxFRJnVvHnzEBUVBT8/P2TLlk31CAkJyeimERExRxFRpsYcRUSZQZpnpPv5+UFE0qMtREQ6Y44iosyKuYmIMjPmKCLKzJijiCgzSPOMdCIiIiIiIiIiIiKibwkH0omIiIiIiIiIiIiIUsCBdCIiIiIiIiIiIiKiFHAgnYiIiIiIiIiIiIgoBRxIJyIiIiIiIiIiIiJKgZmh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91+1alVcu3YNwIdBuDt37qiV//PPP3qb4fe///0PXbt2xdatW3H79m0kJiYiW7ZsqFSpEmrWrKmXQbjPnZzJmzcvxo0bp3McAKhduzYuX76M06dPo3Tp0vDy8sK///6LOXPm4O3btxg/fjyqVaumc5wpU6agdu3acHR0hEKhgLW1NdauXasqv3LlCtq1a6dzHF9fX1y8eBHz5s3D0aNHVesmu7u7IzAwEF26dNHbbP7MYP78+SnOZE66obA+NG7cGKtWrULr1q01ymbPno3ExES9LEM1f/58mJubJ1seFxent5vTAoCtrS2WLFmC1atXw9/fXy8zwz/16Wfw6Ym9uLg4vdwwEzBMjho5cuRnT07q64RE7dq1cenSJZw5c0aVow4cOIA5c+bg3bt3estRSfcHWb58Od68eYPp06ejU6dOqvKmTZuiadOmOsf51nIUERERERERpY9Md7PRb9GdO3dgZWWlupzdGNy+fRtKpVJ1g9PM7t69e8iZM2e6zYzNKG/fvsV///2HmJgYlC9fHq6urhndJCI1Dx48wOnTp1GzZk3Y2NhkdHOIMj3eJIuItOGN/IgoM2OOIqLM7Ku+2WjdunURFRWlej5u3Di1tXtfvHihtoSILv7++2/Exsaqnt+9e1dtZuTbt28xefJkneN8rk/29vaoXr26znEM1R/g831ycHCAv7+/znEM1aeuXbvi1atXqufGctzFxcXB398fgYGB+OOPP9KtT98SExMTmJqapvj4dF3zzC4j+5QjRw40bNhQ74PohuqTscUxZCxj/FkiIiIiIiIi45XpZqQnrbedtIa4vb09zp49izx58gD4cGNLDw8PvSwFYGpqirCwsHSPZag+Gao/gPH1yZDvnTH2KSXnzp1DyZIl0z2OoWzatCnZssOHD6vWL3/37p3OsTp06PDZOgqFAsHBwTrFMVSfDNUfwHB9MlScjRs3JnvFjL6PO2N77z7na8tRnElFRNpwticRZWbMUUSUmaUlR2X6qV7pOc7/6b4NdU4hveJkVH/SM5ah+mTI984Y+/Q5mex8nU4aNmyose3q1asYPHgwtmzZgp9++gm//fabXmK9fPky2bKEhATs2bMHMTExOg88G6pPhuoPYLg+GSpOo0aNDBIHML73LjWMKUcRERERERFR+sj0A+lElLl9//33KZZHRUUZ3drzSR4/foyRI0di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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 5, figsize=(15,4))\n", "for i, factor in enumerate(factors):\n", " questions_selection = survey.select_questions(lambda variable: factor in variable.name)\n", " feat_fac = create_median_feature_factory(questions_selection)\n", " agreement = agreements[factor]\n", " tangles = SurveyTangles.search(questions_selection, agreement, feature_factory=feat_fac, progress_callback=None)\n", " plot_tangle_matrix(tangles.tangle_matrix(), f'Factor {factor} (agreement={agreement})', \n", " questions_selection.variable_info()['name'], ax=axs[i])\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Excellent, we can verify the coherence of all five factors.\n", "\n", "What about the __incomplete tangles__ of factors A, C and O? In scenarios where we are working with an order function, incomplete tangles can be valuable for interpretation. Remember that the order function determines the order in which the tangle search tries to specify the potential features. Usually we trie to choose an order function such that the tangle search specifies potential features of more general statements first and of more specific statements last. Consequently, an incomplete tangle is a tangle that describes groups in more general terms, while a complete tangle goes into more details. We will introduce an order function later in this notebook.\n", "\n", "We don't use an order function here, so the incomplete tangles aren't valuable for interpretation and we can ignore them.\n", "\n", "However, we can explain the incomplete tangles to give some insights into the search process. Let's focus on the factor A: \n", "- Remember that, searching for tangles, we try to find specifications of the given ten potential features, such that the intersection of any three of the features is larger than the agreement value. The tangle search checks this feature by feature, in our case starting with A1 and A2 (going from left to right in the matrix). \n", "- The incomplete tangles specify the first two features A1 and A2 differently. Tangle 1 corresponds to a participant feeling little concern for others but at the same time being interested in people (and vice versa for tangle 0). This is a somewhat contradictory combination of statements, so the number of such participants is not large. Yet, it is still greater than the agreement value, so the tangle search doesn't stop trying to specify features. \n", "- In the next step, the tangle search checks triples of specifications of A1, A2 and A3 (i.e. it intersect the previous intersections of A1 and A2 with both specifications of A3). This leads to intersections that are smaller than the agreement value. As a result, the tangle search stops extending these tangles any further and the tangles are shown in the tangle matrix with only A1 and A2 specified." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Typical Mindsets \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous section, we searched tangles separately for the five factors E, N, A, C and O. Now, we will search for tangles on all factors at once. This will let us identify typical mindsets of the participants of the survey.\n", "\n", "Again, we start with a relatively high agreement." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:27.539974Z", "start_time": "2024-04-25T13:55:26.461023Z" }, "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "creating features... finished \n", "[ tree height=50, number of tangles=14, limit=1792.0 ]: appending finished \n" ] } ], "source": [ "agreement = 1800\n", "tangles = SurveyTangles.search(survey, agreement, feature_factory=create_median_feature_factory(survey))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in the previous section, only the complete tangles are of interest because we don't use an order function yet." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:27.926911Z", "start_time": "2024-04-25T13:55:27.538720Z" }, "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAB3CAYAAAAO7a8KAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABBbUlEQVR4nO3dd1QU1/s/8PfssrB0BRREmtgQG3bBKNgFLNg/RsWu2GI3sUQjSRS7xliiwd41lqjR2LDFXsCGioJdUFGxoIDw/P7wx3xZdmcpSxOe1zl7PDt37jwzy/XO3Jk79wpERGCMMcYYY4yxAkqW3zvAGGOMMcYYY9pwo4UxxhhjjDFWoHGjhTHGGGOMMVagcaOFMcYYY4wxVqBxo4UxxhhjjDFWoHGjhTHGGGOMMVagcaOFMcYYY4wxVqBxo4UxxhhjjDFWoHGjhTHGGGOMMVagcaOFMZajBEHI1OfYsWP5sn+9e/eGk5NTjm1v9erVWo+JiFCuXDkIggAvL69sxViyZAlWr16dpTzHjh3Lld85MDAQrq6uSElJydHtsv9z8+ZN/PTTT7h//36ObfPUqVPo378/atWqBQMDAwiCILn96OhoDBs2DM7OzjA0NISjoyP69euHhw8fqq37/Plz9O7dG1ZWVjAyMoK7uzuOHDmicbuHDx+Gu7s7jIyMYGVlhd69e+P58+cq6xw5cgQmJiZ48uSJzsfMGCtcuNHCGMtRZ86cUfn4+PjA0NBQbXnNmjXze1dzlKmpKYKDg9WWHz9+HPfu3YOpqWm2t52dRkvNmjVz/Hd++vQpZs2ahcDAQMhkfPrILTdv3sS0adNytNFy5MgRHD58GA4ODvDw8JBcLyEhAY0aNcKWLVswduxY7N+/HxMnTsS+ffvg4eGBd+/eqazbtGlTHDlyBAsXLsTu3bthbW2NVq1a4fjx4yrbPX78OLy9vWFtbY3du3dj4cKFOHz4MJo2bYqEhARxvaZNm6Ju3bqYOHFijh07Y6yQIMYYy0W9evUiY2Pj/N4NUa9evcjR0THHtrdq1SoCQP379ydDQ0OKi4tTSe/Rowe5u7tT5cqVydPTM1sxspI3MTGRkpKSshUnI+PHj6fSpUtTcnJyrmxfm/j4eEpJScnzuPlh27ZtBIBCQkJybJtp/2azZ88mABQVFaW23qFDhwgA/fnnnyrLN27cSABox44d4rLFixcTADp9+rS4LCkpiVxdXalu3boq+evUqUOurq4qZfO///4jALRkyRKVdbdv305yuZwePnyYrWNljBVOfKuMMZbnFi9ejEaNGqFkyZIwNjZG1apVMWvWLCQlJams5+XlhSpVquDChQto2LAhjIyM4OzsjKCgILXuSTdu3ECLFi1gZGSEEiVKYOjQodi3b1+mukgREZYsWQI3NzcYGhqiePHi6NSpEyIjIzN9TN26dQMAbNq0SVwWFxeHv/76C3379tWYZ9q0aahXrx4sLCxgZmaGmjVrIjg4GEQkruPk5IQbN27g+PHjYje01O5tqV3A1q1bhzFjxqB06dIwMDDA3bt31bqHvXz5Evb29vDw8FD5nW/evAljY2P07NlT6/ElJiYiODgY3377rdpTlswcB/DlzvyYMWNgY2MDIyMjNGrUCJcuXYKTkxN69+4trpfa5e7gwYPo27cvSpQoASMjI/GO/JYtW+Du7g5jY2OYmJigZcuWuHLlito+X7x4EW3btoWFhQWUSiVq1KiBrVu3qqyTGuvo0aMYMGAALC0tYWZmBn9/f3z48AHR0dHo0qULihUrhlKlSmHs2LFq5TQxMRG//PILXFxcYGBggBIlSqBPnz548eKFynpOTk5o3bo1Dhw4gJo1a8LQ0BAuLi5YuXKlyv507twZANC4cWPxb57VJ23pZfbJmEKhAACYm5urLC9WrBgAQKlUist27tyJihUrwt3dXVymp6eHHj164Pz582IXrydPnuDChQvo2bMn9PT0xHU9PDxQoUIF7Ny5UyVWmzZtYGJighUrVmT+ABljhR43Whhjee7evXv49ttvsW7dOuzduxf9+vXD7NmzMWjQILV1o6Oj0b17d/To0QN///03vL29MWHCBKxfv15c59mzZ/D09MTt27exdOlSrF27Fu/evcOwYcMytT+DBg3CyJEj0axZM+zatQtLlizBjRs34OHhgZiYmExtw8zMDJ06dVK5AN20aRNkMhm6du2qMc/9+/cxaNAgbN26FTt27ECHDh0wfPhw/Pzzz+I6O3fuhLOzM2rUqCF2rUt/kTdhwgQ8fPgQy5Ytw549e1CyZEm1WFZWVti8eTMuXLiA77//HgAQHx+Pzp07w8HBAcuWLdN6fOfOnUNsbCwaN26creMAgD59+mDBggXo06cPdu/ejY4dO6J9+/Z48+aNxph9+/aF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qlUl86f+nZs1a0abN2/O8jXC0qVLSU9Pj2rVqkVmZma0fv16MjU1pf79+9OgQYPI0NCQFixYoDFvREQEOTo6kqWlJZUqVYoEQSBfX1+qV68eyeVy6ty5s8p1RXqPHz8mNzc3ksvlVL16dWrRogU1b96cqlevTnK5nGrWrKn1d9OmQDdatP1H2LBhA8nlcvL19aVvvvmGlEolrV+/XkzP6ASvS6VbvHhxjR9BEMjc3Fz8LkWXStfBwYHCwsKIiKh///5Uo0YNunz5Mn38+JFCQ0Opfv361K9fP8nYulS6HTt2JE9PT9qzZw916dKFGjRoQF5eXvT48WN6+vQptWzZkvz8/CTz61LpLlu2jPT19SkgIIB27txJp0+fpv/++4927txJAQEBZGBgQMuXL8/S8aQVGhpKgiBoTLt9+zY5OjqKJzVPT096+vSpmJ5RWZs8eTJZW1vT6NGjydXVlQICAsje3p7Wr19Pa9euJTs7O5o5c6bGvKNGjdL4kclk5O/vL36XIpPJKCYmhoi+NFjlcjkNHz6cNmzYQGPGjCEDAwPauHGjxrw5UdYqV65MgiCQi4sLzZkzR9yXjOha1mbPnk2lSpWiBQsW0LJly6hSpUoUGBhI+/fvp549e5KRkRFduHBBY968KGuayourqytt2LBB/H769GkqWbIk/fjjj0SUuUbLunXrSE9Pj2rWrEkmJia0atUqKlasGPXv35/69etH+vr6tG3bNrV8pUuXJl9fXzp69CgdO3aMjh07RiEhISSXy2nVqlXiMm3SlrUrV66QkZERubm50YABA6hOnTqkr69P586dU8unVCopMjKSiIjs7OzU1rl27RpZWVlpjS0IAunp6ZG5uTkFBARk2ChNVbx4cfEiOT4+nuRyuUr869evk6Wlpca8tra2dOLECfH748ePycTEhD59+kREXxol7u7ukrHt7Oy0NoB37NhBtra2kumaLsbSfk6ePKm1vOhyDm3Xrh21bduWrl69SiNHjiRXV1dq164dJSYmUkJCArVr14569OghGVuXc2jacjZ27FgqU6aMeNF67do1qlSpktY6UZd6TRAECgwMpBo1aoj12/z58+nly5eS8dLSpV7r2rUr+fn50evXryk+Pp6GDh1K/v7+RPTlRqClpaXkRSgRUc+ePalq1aoaz/tnz56latWqidtLLywsTOtny5YtWsua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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.utilities import plot_big5_tangle_matrix\n", "\n", "plot_big5_tangle_matrix(tangles.tangle_matrix(), agreement, survey.variable_info()['name'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interesting! The two most common combinations of statements perfectly align with the factors, i.e. all statements within a factor are specified in the same way. This is not too surprising: we already saw this structure in the previous section.\n", "\n", "What's new is that the most typical mindsets that are present in the participants are\n", "- Tangle 1: people who are extroverted (E), agreeable (A), conscientious (C) and open for experience (O), but not neurotic (N)\n", "- Tangle 0: people with the opposite personality traits\n", "\n", "These mindsets follow an intuition for what personality traits typically appear together. For example, you wouldn't usually expect a person to be neurotic and extroverted at the same time. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the `change_agreement()` method, we can lower the agreement value and see what new tangles will be found, without having to redo the calculations necessary for the higher agreement value in the previous search." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:28.261214Z", "start_time": "2024-04-25T13:55:27.928190Z" }, "collapsed": false, "editable": true, "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ tree height=50, number of tangles=30, limit=1698.0 ]: sweep finished \n" ] } ], "source": [ "agreement = 1700\n", "tangles.change_agreement(agreement, force_tree_update=True)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:28.563683Z", "start_time": "2024-04-25T13:55:28.262028Z" } }, "outputs": [ { "data": { "image/png": "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EVEBlaFxWpycnKDRaFLdVbl//36quy9JzM3NYW5unvk1JCIiIiKiAi1Dd1rMzMxQvXp17Ny5U2v6zp074evrm6UrRkREREREBGTwTgsADB8+HF27dkWNGjVQt25d/Pzzz7hx4wb69++fHetHREREREQFXIaTlk6dOiE6OhohISG4e/cuKlasiD///BOenp7ZsX5ERERERFTAZThpAYABAwZgwIABWb0uREREREREqWQqaSEiIiIiovwjrN/WTNct91PLLFwT3TLV5TEREREREVFOYdJCRERERER5GpMWIiIiIiLK05i0EBERERFRnsakhYiIiIiI8jQmLURERERElKcxaSEiIiIiojyNSQsREREREeVpTFqIiIiIiChPY9JCRERERER5GpMWIiIiIiLK05i0EBERERFRnsakhYiIiIiI8jQmLURERERElKcxaSEiIiIiojzNJLcCH+/xF+xszXIrPBUAFta+ACwR9cICdX9qmdurQ/nY4TEWKGoPuFq/Qli/rbm9OpSPJe3X2NYou7GtFTzljDhXMqaNPH32Gq6z0p6Pd1qIiIiIiChPY9JCRERERER5GpMWIiIiIiLK0zKUtEyaNAk1a9aEra0tnJ2dERQUhMuXL2fXuhEREREREWUsadm/fz8GDhyII0eOYOfOnXjz5g2aNWuGFy9eZNf6ERERERFRAZeh3sO2b9+u9X3RokVwdnbGyZMn0aBBgyxdMSIiIiIiIsDILo9jYmIAAA4ODnrniYuLQ1xcnPL96dOnxoQkIiIiIqICJtMv4osIhg8fjvfffx8VK1bUO9+kSZNgb2+vfDw8PDIbkoiIiIiICqBMJy2DBg3C2bNnsXLlSoPzjRkzBjExMcrn5s2bmQ1JREREREQFUKYeDxs8eDD++OMP/P3333B3dzc4r7m5OczNzTO1ckRERERERBlKWkQEgwcPxoYNG7Bv3z54eXll13oREREREREByGDSMnDgQKxYsQKbNm2Cra0toqKiAAD29vawtLTMlhUkIiIiIqKCLUPvtMyfPx8xMTHw9/dH0aJFlc/q1auza/2IiIiIiKiAy/DjYURERERERDnJqHFaiIiIiIjo3RfWb2tur4JBme7ymIiIiIiIKCcwaSEiIiIiojyNSQsREREREeVpTFqIiIiIiChPY9JCRERERER5GpMWIiIiIiLK05i0EBERERFRnsakhYiIiIiI8jQmLURERERElKcxaSEiIiIiojyNSQsREREREeVpTFqIiIiIiChPY9JCRERERER5GpMWIiIiIiLK00xyOqCIAACePX+d06GpgHn99ClUJho8e/oSiXGxub06lI89e/oU1qp4yJunePWM+zbKPkn7NbY1ym5sa5RTknKCpBxBH5WkNUcWu3XrFjw8PHIyJBERERER5WE3b96Eu7u73vIcT1oSExNx584d2NraQqVSaZU9ffoUHh4euHnzJuzs7DK8bGPqMzZjMzZjMzZjMzZjMzZjM3bOxhYRPHv2DG5ublCr9b+5kuOPh6nVaoNZFADY2dll6kfJivqMzdiMzdiMzdiMzdiMzdiMnXOx7e3t06zPF/GJiIiIiChPY9JCRERERER5Wp5KWszNzTFhwgSYm5vneH3GZmzGZmzGZmzGZmzGZmzGzjuxk8vxF/GJiIiIiIgyIk/daSEiIiIiIkqJSQsREREREeVpTFqIiIiIiChPY9JCRERERER5GpMWIiIiIiLK00xyewWIiChvmjhxIgYOHAgnJ6cci/nmzRvs3bsXN27cgKenJxo2bAiNRpNt8RISEpRYarUacXFx2LRpExITE9GwYUO4uLgYrP/ixQucPHkSd+/ehUajgZeXF6pVqwaVSpXudbh+/TqioqKgUqng4uICT09PYzeLiCjfYZfHWei3335D27ZtYW9vn6Nxw8PDlYNuqVKlsj1eQkKC1knEsWPHkJiYiKpVqxrdB3d64z98+BAqlQqOjo7ZekKTnUQEIgK1OuM3PEUkQydFWeVdbGs3btxQTihLlCiRoRPwnG5r8+bNw/r16+Hg4ID+/fujUaNGStnDhw9Rq1YtREREZHncp0+fppomIihSpAgOHjwIb29vAICdnV2Wx/7000/RvHlztGzZErdu3ULTpk0RHh4OJycnPHz4EOXLl8e2bdtQrFixLI995swZtGjRAvfv30fFihWxdetWBAQEIDIyEiqVCqampvjrr79Qs2bNVHUTExPx+eefY+7cuXj16hWAt78ZABQvXhxz5szBBx98YDD+999/j5kzZ+LOnTtKXZVKBTc3N4wYMQJDhw7N9LY9fvwYmzdvRnBwcKaXYYiI4Nq1a/Dw8ICJiQlev36NDRs2IC4uDoGBgZlKdDN7DD19+jTCw8NRtGhR1KtXL8P7xvTu137//XcE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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_big5_tangle_matrix(tangles.tangle_matrix(), agreement, survey.variable_info()['name'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Two new tangles, both of them just varying statement O9 which is \"I spend time reflecting on things.\". This tells us that the ratings of the O9 statement do not align as consistently with the overall O factor ratings as they do for the other O statements. The reasons behind this can only be guessed but it may be because the statement is not very specific and rating the intensity or amount of time spend on reflecting things might be hard to judge objectively." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we essentially found two tangles, plus two tangles that contain precisely the inverted features. \n", "\n", "Take, for example, the tangles in row 1 and 2: one might think that the combinations of factors in tangle 1 are as typically found in the survey data as the combination of factors in tangle 2. This might be, but is not necessarily the case: recall, that we defined the features by the median of a statement, which leads to very _balanced_ features (i.e. a feature and its inverse are of almost the same size). Consequently, whenever a tangle has high agreement, it is not surprising that its inverse tangle also has high agreement. How we define the features has a strong influence on the results of the tangle search." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us lower the agreement once more. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:29.563955Z", "start_time": "2024-04-25T13:55:28.562737Z" }, "collapsed": false, "editable": true, "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ tree height=50, number of tangles=50, limit=1647.0 ]: sweep finished \n" ] } ], "source": [ "agreement = 1648\n", "tangles.change_agreement(agreement, force_tree_update=True)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:29.903910Z", "start_time": "2024-04-25T13:55:29.563205Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAADjCAYAAACIGvtfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABJeUlEQVR4nO3deXhMZ/sH8O/MZJnsIkREIqGWhCCWtEUJpbakltJ6lcYulqpd67WnKvZStZSSovbWUlRrC+pFrYldETtRW2KLILl/f7gyv0wyM8nMZBnJ93Ndc+Wac85z7ufMPHnm3Gd5jkJEBERERERERBZKmd8VICIiIiIiMoRJCxERERERWTQmLUREREREZNGYtBARERERkUVj0kJERERERBaNSQsREREREVk0Ji1ERERERGTRmLQQEREREZFFY9JCREREREQWjUkLEeUohUKRrdfu3bvzpX5dunSBr69vjq3vp59+MrhNIoJy5cpBoVCgQYMGJsWYO3cufvrpJ6PK7N69O1c+54iICFSqVAmpqak5ul76f2fOnMG4ceNw5cqVHFvnvn370KNHD9SsWRO2trZQKBQG13/16lV069YNnp6esLW1RalSpdCmTRuDMUaNGgWFQoGAgIBM85KTkzF16lQEBATAwcEBJUqUQPPmzbF//36t5Xbu3AlHR0fcvHnTpO0kooKLSQsR5agDBw5ovVq0aAE7O7tM02vUqJHfVc1RTk5OWLRoUabpe/bswaVLl+Dk5GTyuk1JWmrUqJHjn/OtW7cwZcoUREREQKnkz0duOXPmDMaPH5+jScvOnTuxY8cOlC5dGnXq1DG47KlTp1CzZk2cOnUK06ZNw/bt2zFjxgy4urrqLRMTE4Np06ahRIkSOuf37NkTX331FVq3bo1NmzZhzpw5uHv3LoKDg3Ho0CHNco0aNcLbb7+N//73v6ZtKBEVWFb5XQEiKljeffddrffFixeHUqnMNL2gad++PZYvX445c+bA2dlZM33RokWoXbs2Hj16lCf1ePnyJRQKBZydnXP8M581axaKFCmCjz76KEfXmx1JSUlQq9VQKBR5HrsgGD16NMaOHQsAmDZtmt4zcCKCzz77DN7e3vjrr79ga2urmde+fXudZV69eoWuXbsiPDwcsbGxuHfvntb85ORkrFixAp9++ikmTJigmV63bl14enpi+fLlePvttzXT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ASIiIjKOh8NznA3fkt/VoAJM7VAHgF1+V4NIg2daiIiIiIjIojFpISIiIiIii8akhYiIiIiILBqTFiIiIiIismhGJy03b95Ep06d4ObmBnt7ewQGBuLo0aO5UTciIiIiIiLjRg97+PAh6tati4YNG2Lr1q1wd3fHpUuXUKRIkVyqHhERERERFXZGJS2TJ0+Gt7c3oqKiNNN8fX0NlklOTkZycrLm/aNHj4yrIRERERERFWpGXR7222+/oVatWvj444/h7u6O6tWrY+HChQbLREZGwsXFRfPy9vY2q8JERERERFS4GJW0xMXFYd68eShfvjz+/PNP9O7dG1988QWWLl2qt8yIESOQmJioeV2/ft3sShMRERERUeFh1OVhqampqFWrFiZOnAgAqF69Ok6fPo158+YhLCxMZxlbW1vY2tqaX1MiIiIiIiqUjDrTUrJkSVSqVElrmr+/P65du5ajlSIiIiIiIkpjVNJSt25dnD9/XmvaP//8Ax8fnxytFBERERERURqjkpZBgwbh4MGDmDhxIi5evIgVK1ZgwYIF6NevX27Vj4iIiIiICjmjkpagoCCsX78eK1euREBAAL7++mvMnDkTHTt2zK36ERERERFRIWfUjfgAEBoaitDQ0NyoCxERERERUSZGJy1ERESUv+KfqlH7h5D8rgYVYAdGqFHSJb9rQXnpbPiW/K6CQUZdHkZERERERJTXmLQQEREREZFFY9JCREREREQWjUkLERERERFZNCYtRERERERk0Zi0EBERERGRRWPSQkREREREFo1JCxERERERWTQmLUREREREZNGYtBARERERkUVj0kJERERERBaNSQsREREREVk0Ji1ERERERGTRmLQQEREREZFFs8rvChAREZFxPBye42z4lvyuBhVgaoc6AOzyuxpEGjzTQkREREREFo1JCxERERERWTQmLUREREREZNGYtBARERERkUUzKml59eoVRo0ahTJlysDOzg5ly5ZFREQEUlNTc6t+RERERERUyBk1etjkyZMxf/58LFmyBJUrV8aRI0fQtWtXuLi4YMCAAblVRyIiIiIiKsSMSloOHDiAVq1aISQkBADg6+uLlStX4siRI3rLJCcnIzk5WfP+0aNHJlaViIiIiIgKI6MuD3vvvfewc+dO/PPPPwCA2NhY7Nu3Dy1atNBbJjIyEi4uLpqXt7e3eTUm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hsnZs2e15j148EAaNmyot2xudLrZ3ZE0p9ONjIzU7Mw8ePBAGjVqpPVj16xZM4Mdtjmd7uXLl6VGjRqiUqmkRYsWkpiYKI0bN9bEL1u2rJw/f15veXM73XXr1kmdOnXExsZGs5NgY2MjderUkfXr1xu1LRkZamvnz58XHx8fzWccHBwst27d0syPj4832E5fvnwpI0eOlPr168uYMWNERGTKlClib28vNjY2EhYWprdDGjRokM6XUqmUsLAwzXt9/vzzT63OZfny5VKtWjWxt7eXt956S2bNmqW3rLltzdHRUbp16yb/+9//9C6jj7ltTeR1AlC6dGlNW0l71a1bV44cOWKwbG62tYsXL+rsm2bNmiX29vbSr18/6dSpk9ja2srEiRM187NqZ2m2bdsmY8aM0Xx3e/bskWbNmknDhg1l8eLFOstk/IzS74Sn/2tIxjZ88eJFGTBggLRo0UK6d++u9zMvWbKkpt/85JNPpHHjxpqdifv370toaKi0a9fOYOzQ0FBZunSpPHv2zOByGTVp0kTatWsnJ0+elAEDBkilSpXk448/lhcvXsjLly+lU6dO0rhxY51lv/zyS/H395cNGzbIH3/8IfXq1ZPJkyfL2bNnZfTo0WJrayt//vmn3tgRERHi7OwskyZNkuPHj8utW7fk5s2bcvz4cZk0aZK4uLjI119/rbe8rkQz/euvv/7K8jsz9Te0VatW0rJlSzlx4oQMHDhQKlWqJK1atZIXL15IcnKytGrVSjp16mQwti7Z+Q1VKpVy584dEREZOnSolClTRrPTevLkSfH39zfYJ5rTrykUComIiJDq1auLQqGQypUry7fffiv37t3L1vaZ06+1b99eWrduLQ8fPpRnz55Jv379JCwsTEReHwh0c3PTuxMqIvLZZ59JlSpVdP7uHzx4UKpWrapZX0axsbEGX6tXr86yrZl6QKZx48bSo0cPefTokUydOlW8vLykR48emvndu3eX1q1b641rzgEZhUKhaWs9e/aUwMBAuX37toiI3Lt3T+rUqSPdunXTG9ucAzIKhUKioqKkVatWYm1tLW5ubjJgwAA5efKk3njp+fv7y4IFC0REZNeuXaJWq2XOnDma+VFRUeLv76+zbPPmzSU8PFxzUDUyMlKaN28uIq8TfF9fXxk7dqze2C1btpT3339faz8pza1bt+T999+XVq1a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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_big5_tangle_matrix(tangles.tangle_matrix(), agreement, survey.variable_info()['name'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "New tangles! Some tangles differ only in how O9 is specified, which makes the tangle matrix a bit harder to read. Yet, we can clearly make out two new typical mindsets:\n", "- extroverted, agreeable and conscientious; but not neurotic and not open for experience\n", "- extroverted, agreeable and open for experience; but not neurotic and not conscientious" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Can we find more tangles that reveal typical combinations of factors if we lower the agreement value just a little more?" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:30.480811Z", "start_time": "2024-04-25T13:55:29.900802Z" }, "collapsed": false, "editable": true, "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ tree height=50, number of tangles=55, limit=1644.0 ]: sweep finished \n" ] } ], "source": [ "agreement = 1645\n", "tangles.change_agreement(agreement, force_tree_update=True)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:30.829207Z", "start_time": "2024-04-25T13:55:30.480935Z" } }, "outputs": [ { "data": { "image/png": "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ERERZZfJE5v79+8jOTkZ7u7uWtPd3d0RFxeXYfnw8HDEx8drXrGxsaauEhERERER5XFmG+45/ZBsIqJzmDaVSgWVSmWuahARERERUT5g8jM2hQoVgpWVVYazM/fu3ctwFoeIiIiIiMgUTJ7Y2NraokqVKti+fbvW9O3bt6NmzZqmDkdERERERGSeS9EGDRqEL774AlWrVkWNGjUwd+5c3LhxA7169TJHOCIiIiIiyufMkti0bdsWDx48wNixY3Hnzh0EBgbizz//hK+vrznCERERERFRPme2wQN69+6N3r17m2v1REREREREGmZLbIx1uOtWODvZ5nY1KA9TO9QEYIe4BDVq/BKa29WhPOxguBqeLoCHwwucC9uc29WhPCy1X8utthZgRF/K/w3LktrWiN4lJh88gIiIiIiI6G1jYkNERERERBaPiQ0REREREVk8JjZERERERGTxmNgQEREREZHFY2JDREREREQWj4kNERERERFZPCY2RERERERk8ZjYEBERERGRxWNiQ0REREREFo+JDRERERERWTwmNkREREREZPGY2BARERERkcVjYkNERERERBbPOrcroE+1yIZQquxzuxqUhx0MV8PTBfBweIFzYZtzuzqUh6kdagKwQ1yCGjV+CX3r8Y1p3wG5UF/KudR+LbewLyWi3MQzNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVk8kyc2ERERqFatGpycnFCkSBG0aNECFy5cMHUYIiIiIiIiDZMnNnv27EGfPn1w6NAhbN++Ha9fv0aDBg2QkJBg6lBEREREREQAzDDc819//aX1PjIyEkWKFMHRo0dRp06dDMsnJSUhKSlJ8/7JkyemrhIREREREeVxZr/HJj4+HgBQsGBBnfMjIiLg4uKiefn4+Ji7SkRERERElMeYNbEREQwaNAgffvghAgMDdS4THh6O+Ph4zSs2NtacVSIiIiIiojzI5JeipdW3b1+cPHkS+/fv17uMSqWCSqUyZzWIiIiIiCiPM1ti069fP2zYsAF79+6Ft7e3ucIQERERERGZPrEREfTr1w9r167F7t27Ubx4cVOHICIiIiIi0mLyxKZPnz5YtmwZ1q9fDycnJ8TFxQEAXFxcYGdnZ+pwREREREREph88YPbs2YiPj0dISAg8PT01r5UrV5o6FBEREREREQAzXYpGRERERET0Npl1VDQiIsp9Ab+E5nYV6C2LS1CjBr93MqOD4Wp4uuR2LehtOhe2Ocdl39bvkNkf0ElERERERGRuTGyIiIiIiMjiMbEhIiIiIiKLx8SGiIiIiIgsHhMbIiIiIiKyeExsiIiIiIjI4jGxISIiIiIii8fEhoiIiIiILB4TGyIiIiIisnhMbIiIiIiIyOIxsSEiIiIiIovHxIaIiIiIiCweExsiIiIiIrJ4TGyIiIiIiMjiWed2BfQ53HUrnJ1sc7salIepHWoCsENcgho1fgnN7epQHnYwXA1PF8DD4QXOhW3O7epQHpbar+VWWwswoi/l/4ZlSW1rRO8SnrEhIiIiIiKLx8SGiIiIiIgsHhMbIiIiIiKyeExsiIiIiIjI4pk9sYmIiIBCocCAAQPMHYqIiIiIiPIpsyY2hw8fxty5c1GhQgVzhiEiIiIionzObInNs2fP0KFDB8ybNw+urq56l0tKSsKTJ0+0XkRERERERNlhtsSmT58+CA0NRf369Q0uFxERARcXF83Lx8fHXFUiIiIiIqI8yiyJzYoVK3Ds2DFERERkumx4eDji4+M1r9jYWHNUiYiIiIiI8jBrU68wNjYW/fv3x7Zt26BWqzNdXqVSQaVSmboaRERERESUj5g8sTl69Cju3buHKlWqaKYlJydj7969+Omnn5CUlAQrKytThyUiIiIionzM5IlNvXr1cOrUKa1pXbt2RZkyZfD1118zqSEiIiIiIpMzeWLj5OSEwMBArWkODg5wc3PLMJ2IiIiIiMgUzP6ATiIiIiIiInMz+RkbXXbv3v02whARERERUT71VhKbnKgW2RBKlX1uV4PysIPhani6AB4OL3AubHNuV4fyMLVDTQB2iEtQo8YvoW89vjHtOyAX6ks5l9qv5Rb2pUSUm3gpGhERERERWTwmNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVk8JjZERERERGTxmNgQEREREZHFY2JDREREREQWj4kNERERERFZPCY2RERERERk8ZjYEBERERGRxWNiQ0REREREFo+JDRERERERWTwmNkREREREZPGsc7sC+hzuuhXOTra5XQ3Kw9QONQHYIS5BjRq/hOZ2dSgPOxiuhqcL4OHwAufCNud2dbLF0uqb36X2a0RvS271awFG/G7nZr9mTL0By627MfV+8vQlPKZnbVmesSEiIiIiIovHxIaIiIiIiCweExsiIiIiIrJ4TGyIiIiIiMjimSWxuXXrFjp27Ag3NzfY29sjKCgIR48eNUcoIiIiIiIi04+K9ujRI9SqVQt169bFli1bUKRIEVy5cgUFChQwdSgiIiIiIiIAZkhsJk6cCB8fH0RGRmqm+fn56V0+KSkJSUlJmvdPnjwxdZWIiIiIiCiPM/mlaBs2bEDVqlXx2WefoUiRIqhUqRLmzZund/mIiAi4uLhoXj4+PqauEhERERER5XEmT2xiYmIwe/ZslCpVClu3bkWvXr3wn//8B4sXL9a5fHh4OOLj4zWv2NhYU1eJiIiIiIjyOJNfipaSkoKqVati/PjxAIBKlSrhzJkzmD17Njp16pRheZVKBZVKZepqEBERERFRPmLyMzaenp4oW7as1rSAgADcuHHD1KGIiIiIiIgAmCGxqVWrFi5cuKA17eLFi/D19TV1KCIiIiIiIgBmSGwGDhyIQ4cOYfz48bh8+TKWLVuGuXPnok+fPqYORUREREREBMAMiU21atWwdu1aLF++HIGBgfjuu+8wffp0dOjQwdShiIiIiIiIAJhh8AAAaNq0KZo2bWqOVRMREREREWVglsSGiIiIck9cgho1fgnN7WpQHnYwXA1Pl9yLfy5sc+4FN4Kl1ttSmPxSNCIiIiIioreNiQ0REREREVk8JjZERERERGTxmNgQEREREZHFY2JDREREREQWj4kNERERERFZPCY2RERERERk8ZjYEBERERGRxWNiQ0REREREFo+JDRERERERWTwmNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVk869yugD7VIhtCqbLP7WpQHnYwXA1PF8DD4QXOhW3O7epQHqZ2qAnADnEJatT4JTS3q0N5WGq/lluM6UsD+L9BREbiGRsiIiIiIrJ4TGyIiIiIiMjiMbEhIiIiIiKLx8SGiIiIiIgsnskTm9evX2PEiBEoXrw47Ozs4O/vj7FjxyIlJcXUoYiIiIiIiACYYVS0iRMnYs6cOVi0aBHKlSuHI0eOoGvXrnBxcUH//v1NHY6IiIiIiMj0ic3BgwfRvHlzhIa+GbbRz88Py5cvx5EjR3Qun5SUhKSkJM37J0+emLpKRERERESUx5n8UrQPP/wQO3fuxMWLFwEAJ06cwP79+9GkSROdy0dERMDFxUXz8vHxMXWViIiIiIgojzP5GZuvv/4a8fHxKFOmDKysrJCcnIzvv/8e7dq107l8eHg4Bg0apHn/5MkTJjdERERERJQtJk9sVq5cid9++w3Lli1DuXLlEB0djQEDBsDLywudO3fOsLxKpYJKpTJ1NYiIiIiIKB8xeWIzdOhQfPPNN/j8888BAOXLl8f169cRERGhM7EhIiIiIiIylsnvsXn+/DmUSu3VWllZcbhnIiIiIiIyG5Ofsfnkk0/w/fffo1ixYihXrhyOHz+OadOmoVu3bqYORUREREREBMAMic3MmTMxcuRI9O7dG/fu3YOXlxfCwsLw7bffmjoUERERERERADMkNk5OTpg+fTqmT59u6lUTERERERHpZPLExlQOd90KZyfb3K4G5WFqh5oA7BCXoEaNX0JzuzqUhx0MV8PTBfBweIFzYZtzuzqUh6X2a5bY1iytvvldalsjepeYfPAAIiIiIiKit42JDRERERERWTwmNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVk8JjZERERERGTxmNgQEREREZHFY2JDREREREQWj4kNERERERFZPCY2RERERERk8ZjYEBERERGRxWNiQ0REREREFo+JDRERERERWTzr3K4AERERmVZcgho1fgnN7WpQHnYwXA1Pl9yuBb1N58I253YVMsUzNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVm8bCc2e/fuxSeffAIvLy8oFAqsW7dOa76IYPTo0fDy8oKdnR1CQkJw5swZU9WXiIiIiIgog2wnNgkJCahYsSJ++uknnfMnTZqEadOm4aeffsLhw4fh4eGBjz/+GE+fPjW6skRERERERLpke7jnxo0bo3HjxjrniQimT5+O4cOH49NPPwUALFq0CO7u7li2bBnCwsIylElKSkJSUpLm/ZMnT7JbJSIiIiIiyudMeo/N1atXERcXhwYNGmimqVQqBAcH48CBAzrLREREwMXFRfPy8fExZZWIiIiIiCgfMGliExcXBwBwd3fXmu7u7q6Zl154eDji4+M1r9jYWFNWiYiIiIiI8oFsX4qWFQqFQuu9iGSYlkqlUkGlUpmjGkRERERElE+Y9IyNh4cHAGQ4O3Pv3r0MZ3GIiIiIiIhMxaSJTfHixeHh4YHt27drpr18+RJ79uxBzZo1TRmKiIiIiIhII9uXoj179gyXL1/WvL969Sqio6NRsGBBFCtWDAMGDMD48eNRqlQplCpVCuPHj4e9vT3at29v0ooTERERERGlynZic+TIEdStW1fzftCgQQCAzp07Y+HChRg2bBgSExPRu3dvPHr0CO+//z62bdsGJycn09WaiIiIiIgojWwnNiEhIRARvfMVCgVGjx6N0aNHG1MvIiIiIiKiLDPLqGimUC2yIZQq+9yuBuVhB8PV8HQBPBxe4FzY5tyuDuVhaoeaAOwQl6BGjV9Cc7s6lIel9mu5xZi+NID/G0RkJJMOHkBERERERJQbmNgQEREREZHFY2JDREREREQWj4kNERERERFZPCY2RERERERk8ZjYEBERERGRxWNiQ0REREREFo+JDRERERERWTwmNkREREREZPGY2BARERERkcVjYkNERERERBaPiQ0REREREVk8JjZERERERGTxmNgQEREREZHFs87tCuhzuOtWODvZ5nY1KA9TO9QEYIe4BDVq/BKa29WhPOxguBqeLoCHwwucC9uc29WhPCy1X7PEtmZp9c3vUtsa0buEZ2yIiIiIiMjiMbEhIiIiIiKLx8SGiIiIiIgsHhMbIiIiIiKyeNlObPbu3YtPPvkEXl5eUCgUWLdunWbeq1ev8PXXX6N8+fJwcHCAl5cXOnXqhNu3b5uyzkRERERERFqyndgkJCSgYsWK+OmnnzLMe/78OY4dO4aRI0fi2LFjWLNmDS5evIhmzZqZpLJERERERES6ZHu458aNG6Nx48Y657m4uGD79u1a02bOnInq1avjxo0bKFasWIYySUlJSEpK0rx/8uRJdqtERERERET5nNnvsYmPj4dCoUCBAgV0zo+IiICLi4vm5ePjY+4qERERERFRHmPWxObFixf45ptv0L59ezg7O+tcJjw8HPHx8ZpXbGysOatERERERER5ULYvRcuqV69e4fPPP0dKSgpmzZqldzmVSgWVSmWuahARERERUT5glsTm1atXaNOmDa5evYpdu3bpPVtDRERERERkCiZPbFKTmkuXLiEqKgpubm6mDkFERERERKQl24nNs2fPcPnyZc37q1evIjo6GgULFoSXlxdat26NY8eOYdOmTUhOTkZcXBwAoGDBgrC1tTVdzYmIiIiIiP6/bCc2R44cQd26dTXvBw0aBADo3LkzRo8ejQ0b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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_big5_tangle_matrix(tangles.tangle_matrix(), agreement, survey.variable_info()['name'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yes. We pick out the tangles with newly appearing combinations:\n", "- row at index 2: neurotic and conscientious; but not extroverted, not agreeable and not open for experience\n", "- row at index 11: neurotic and open for experience; but not extroverted, not agreeable and not conscientious\n", "\n", "Note that, for this agreement, not all factors are distinguishable. E.g. all tangles that indicate disagreement to the E statements also indicate agreement to the N statements and vice versa." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We stop decreasing the agreement at this point, but feel free to go on and play around with different agreement values. \n", "Note that at some point (try agreement 1500) the number of tangles increases drastically, making interpretations hard. Picking appropriate values for the agreement is crucial." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conclusion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We found the six most typical mindsets present in the data set. Let us get an overview and visualize the results in a simple picture, where each row shows a typical mindset (from the most typical one in the first row to the least typical one in the last row)." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:30.948968Z", "start_time": "2024-04-25T13:55:30.833235Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.utilities import plot_mindsets\n", "\n", "typical_mindsets = np.asarray([[1,-1,1,1,1],\n", " [-1,1,-1,-1,-1],\n", " [1,-1,1,1,-1],\n", " [1,-1,1,-1,1],\n", " [-1,1,-1,1,-1],\n", " [-1,1,-1,-1,1]])\n", "plot_mindsets(typical_mindsets, 'Most Typical Mindsets')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we have a closer look, we notice an interesting detail: the six mindsets we found can actually be described by only three mindsets and their inverses. Let's visualize them again but ordering them pairwise with their inverses." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:31.075145Z", "start_time": "2024-04-25T13:55:30.971646Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_mindsets(typical_mindsets[[0,1,2,5,3,4]], 'Most Typical Mindsets (Pairwise Order)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. A Tree Structure on Mindsets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section we will calculate a _tree of tangles (TOT)_, which will structure the tangles as nodes in a tree. Remember that tangles represent typical mindsets, so plotting the TOT lets us obtain a structure of typical mindsets in the data.\n", "\n", "To obtain our goal we need to\n", "- define an order function,\n", "- search tangles,\n", "- calculate a TOT for these tangles,\n", "- and give the TOT a meaningful visualization." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.1 Define an order function" ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "To calculate a TOT we need a submodular __order function__ on the features. The definition of the order function has a great influence on what tangles will be found and how the tree of tangles will look like. Choosing and tweaking this definition is an important tool in the tangle workflow and can - and should - be utilised to obtain results that allow for the analysis of aspects of interest.\n", "\n", "In this section we will implement the order function _(O1)_ from the [Tangles book](https://tangles-book.com). For a partition $\\{A,B\\}$ it is given by\n", "\n", "\\begin{align}\n", "\\sum_{a \\in A} \\sum_{b \\in B} \\sigma(a,b),\n", "\\end{align}\n", "\n", "where $\\sigma(a,b)$ is a function measuring the similarity of $a$ and $b$ and should be chosen such that it fits the problem at hand. In our specific application, we set $\\sigma(a,b) = 1$, if $b$ is one of the $k$ most similar participants to $a$, and otherwise $\\sigma(a,b) = 0$. We will motivate this specific definition of $\\sigma$ later." ] }, { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "__Overview__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Step by step we will\n", "1. for any two participants $a$ and $b$, count on how many questions they agree;\n", "2. for each participant $a$, determine the $k$ participants that agree with $a$ on the most questions, i.e. that are most similar to $a$;\n", "3. define the order function _(O1)_ as described above." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__1. Count agreements on questions__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We count on how many questions two participants agree. Technically this is implemented using the Hamming distance.\n", "\n", "The [Hamming distance](https://en.wikipedia.org/wiki/Hamming_distance) is a tool that is usually used to describe the difference between two strings, counting the number of positions at which the symbols of the strings differ. We transfer this concept to the questionnaire data: given two participants we count the questions on which the participants _disagree_ (to calculate the similarity of participants this works just as well as counting their agreements).\n", "\n", "To do so, we need a discretization of the ratings a participant gave, turning the ratings into binary answers: yes or no.\n", "\n", "It is fortunate that we already have such a discretization! Turning the ratings into binary values is exactly what we did when we defined the features in the first section. Thus, we can calculate the distance matrix using the matrix of features." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:36.613090Z", "start_time": "2024-04-25T13:55:31.074596Z" } }, "outputs": [], "source": [ "from scipy.spatial.distance import pdist\n", "\n", "feature_factory = create_median_feature_factory(survey)\n", "features = feature_factory.create_features()[0]\n", "\n", "hamming_distance = pdist(features, metric='hamming')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2. Determine the most similar participants__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For each participant, we determine the $k$ participants that disagree on the fewest questions.\n", "\n", "This can be done by calculating a $k$-nearest-neighbour graph. The graph is represented by an [adjacency matrix](https://en.wikipedia.org/wiki/Adjacency_matrix), which can then be used as the similarity matrix containing at index $(i,j)$ the similarity $\\sigma(i,j)$ of the $i$-th and the $j$-th participant. \n", "\n", "Experience has shown that considering only the $k$ most similar participants often is a good choice to define $\\sigma$ with. One advantage of it is that we can easily analyze basic properties of the $k$-nearest-neighbour graph like its number of components or its average degree. Furthermore, we can adjust the graph to our needs by modifying its adjacency matrix." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:41.917349Z", "start_time": "2024-04-25T13:55:36.623580Z" } }, "outputs": [], "source": [ "from tangles.util.graph.similarity import k_nearest_neighbors\n", "\n", "k = 2\n", "k_nn_matrix = k_nearest_neighbors(hamming_distance, k=k)\n", "similarity_matrix = k_nn_matrix + k_nn_matrix.T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We go for a __small value__ $k$, using $k=2$. Why?\n", "- In many cases a small value (e.g. 4 or smaller) is enough to capture the most important structure in the data. Imagine a subset of participants that are very similar to each other. We want these participants to be part of a dense area in the $k$-nearest-neighbour graph and a small value for $k$ is sufficient to achieve this.\n", "- Moreover, we benefit from the sparsity of the adjacency matrix as it leads to faster calculations in all following steps that involve the order function.\n", "\n", "Also note the last line: it's a simple trick to obtain a symmetric matrix. This step is not obligatory, but the symmetry allows us to interpret the matrix as a similarity matrix, which simplifies the interpretation and analysis of the matrix." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check some basic properties of the graph." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:41.926605Z", "start_time": "2024-04-25T13:55:41.918974Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#non-zero entries: 66100\n", "#connected components: 1\n" ] } ], "source": [ "from scipy.sparse.csgraph import connected_components\n", "print(f'#non-zero entries: {similarity_matrix.size}')\n", "print(f\"#connected components: {connected_components(similarity_matrix, directed=False, return_labels=False)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The graph is dense enough to be made up of only one component but still quite sparse (66,098 non-zero entries compared to a total 374,809,600 entries in the adjacency matrix)." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:42.248631Z", "start_time": "2024-04-25T13:55:41.924898Z" } }, "outputs": [ { "data": { "image/png": "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DRgwQO+9957H9ir9djtOw4YN9dFHH6l169YKCwtT7969i/Qem5leeeUVNW3aVKGhoSpfvrxuu+02fffddx7tPv30U8XHx7v7HhMToy5dunjtHznldotddl7nzZunevXqKSwsTE2aNNGKFSvyXde6det09dVXS5Luv/9+d+5HjBjh0e6bb75R586dVbZsWVWrVk2DBw9WRkaGR5szZ85o9OjR7v29UqVKuv/++3XkyJF8+yBJkZGRXtNiYmJUtWpV7du3r8Dlpd+OX/Hx8UpKSlLz5s0VGhqqunXrel2Fzb79eO3atXrwwQdVsWJFVahQQbfeeqsOHDhQYJzRo0erYsWKmjx5shwOh9d8h8OhAQMGyN/f3z0tv+3qrbfeUseOHVW5cmWFhoaqXr16GjJkiNd2lX27465duxQXF6cyZcqoUqVKevjhh3Xy5Mlc+1rU7SHb9OnTdfXVV6tOnTq5zu/du7eWLFnicefA4sWLJUl33nmnV/tvvvlG999/v2rXrq2wsDBVqVJFXbt21WeffebRrn///goJCdHWrVvd07KyshQXF6eoqCgdPHiwUP0vrPvvv1+dO3fWv/71L49bCQu7D/vi3CVJH374oeLi4lSuXDmFhYWpTZs2WrNmjVd/C3u887Wff/5ZX331lW6++WaPbT42NlYNGzbUsmXLPI7vQUFB6tGjh1599dVcb8XEH9hFLc+AQsi+gpSSkmKZmZler86dO3tdQYqNjbVevXq5fx43bpz5+/vb8OHDbc2aNZaUlGRTpkyxESNGmJnZvn37bODAgSbJlixZYhs3brSNGzdaWlqamZn169fPJNnDDz9sSUlJNmPGDKtUqZJVq1bNjhw54o4zdOhQk2T9+vWzpKQke+2116x69epWuXJla9++vbtd9lWGKlWq2G233WbLly+3FStW2M8//2xffvmlPfjgg7Z48WJbt26drVixwvr06WN+fn62du1a9zr27t1rkiw2Nta6du1qK1assPnz51tUVJRdeeWVlpCQYL1797b333/fZsyYYWXLlrWuXbsW+H4vWLDAJFnHjh1t2bJl9tZbb1mLFi0sKCjIPv74YzMz++abb+wf//iHSbKxY8faxo0bbdeuXXmuM/svst27d/eY/ssvv1hwcLDdeeedZvbbX6KbNm1qFStWtEmTJtmHH35oL7/8sjmdTrv++us9/uKX/f41btzYFi5caP/5z39s+/btlpSUZJKsT58+7jx+8803Zma2a9cuczqd1qhRI5s7d66tWrXKBg8ebH5+fu5twczs66+/tvDwcLv11lvNzOzcuXN2/fXXW2RkpB04cCDf9y+/K0jZKleubJdffrn758L268CBA1ahQgWrXr26zZkzx1auXGkJCQlWo0YNk+SxfbRv394iIiKsWrVqNnXqVFu7dq0lJycX6T3u27evBQYG2uDBgy0pKckWLlxodevWtaioKEtNTTUzs+PHj1uFChXsqquusn/+85+WnJxsb731lvXv39+++OKLfN+rXr16ee27kqxGjRp2zTXX2D//+U9buXKldejQwQICAuzbb7/Nc11paWnuY8WwYcPcud+3b587VlBQkNWrV89efPFF+/DDD+25554zh8NhI0eOdK/n3LlzdtNNN1mZMmVs5MiRtnr1anv99detSpUqVr9+fTt58mS+Y8rNt99+a35+fjZo0KBCtY+NjbWqVata/fr1be7cufbBBx/Y7bffbpIsOTnZ3S57vLVq1bKBAwfaBx98YK+//rqVL1/e/vKXv+QbY//+/SbJ7rrrriKNJa/tyszs+eeft8mTJ9t7771n69atsxkzZljNmjW9+pKdi+rVq9uYMWNs1apVNmLECAsICLD4+HiPtsXdHsx+++t/aGioPfnkk7mOo0GDBpaenm5lypSxV155xT2vZcuWdu+99+Z6RTI5OdkGDx5sb7/9tiUnJ9vSpUute/fuFhoa6nGV6tSpU9a0aVOrVauWHT161MzMnnvuOfPz87NVq1YV6r3Oq895mTFjhkmyefPmuacVZh828825a968eeZwOKx79+62ZMkS+/e//23x8fHm7+9vH374oXsdhT3eZY+5sL+qSrLy5ctbSEiIBQUFWfPmze2NN97waHPgwAGTZM8995zX8q1atTJJ9tVXX3lMf+utt0zSRbnqj4uHAgmXvOxfAvJ7FVQgxcfHW9OmTfONk9ctdrt37zZJ9tBDD3lM37Rpk0myp59+2sz+75f9Hj16eLTbuHGjScr1JHPdddcVOP6zZ89aZmamxcXF2S233OKenl0gNWnSxM6dO+eePmXKFJNk3bp181hPYmKiSXIXfbk5d+6cxcTEWKNGjTzWeezYMYuMjLTWrVt7jSG/QuB8vXr1ssDAQI9bkKZOnWqSbPXq1Wb2WyHr5+fndTvl22+/bZJs5cqV7mmSzOl02i+//OLRNr9b7Dp16mRVq1b1eg8efvhhCwkJ8VhX9klxypQpRfrFpjDvS8uWLS00NLTI/XriiSfM4XB4FaOdOnXKtUCSZGvWrPFoW9j3OHu7femllzza7du3z+OXzk8++cQk2bJly/J7W3KVV4EUFRVl6enp7mmpqanm5+dn48aNy3d9Bd1iJ8n++c9/ekzv3Lmz1alTx/3zokWLTJK98847ua77/F+kCyMzM9M6dOhg5cqVsx9//LFQy8TGxlpISIj98MMP7mmnTp2yiIgIe+CBB9zTso+NOY9NEyZMMEl28ODBPGOkpKSYJBsyZIjXvOxjTvbr/KI5r+0qp6ysLMvMzLTk5GSTZDt27HDPy87Fyy+/7LHMmDFjTJKtX7/ePa0k20P2MXrx4sVe884vNnr16mVXXXWVmf32y7skW7duXb7bU7azZ8/amTNnrHbt2l4F8J49e6xcuXLWvXt3+/DDD83Pz8+GDRuWb5/zU1CBlH278vjx482s8PuwL85dJ06csIiICK8/wp07d86aNGli11xzjXtaUY7D119/vfn7++c55vP17NnTFixYYB999JG9/fbbdvPNN7v/YHJ+fyIiIiwuLs5j2aNHj1p4eLhJsg0bNnjM27Nnj0my6dOnF6of+GPgFjv8bsydO1dbtmzxemXf6pWfa665Rjt27NBDDz2kDz74QOnp6YWOu3btWknyeireNddco3r16rlvH0hJSVFGRobuuOMOj3bXXnttnk/q+tvf/pbr9BkzZqh58+YKCQlRQECAAgMDtWbNGu3evdurbefOneXn93+7cr169SRJXbp08WiXPf3HH3/MY6TSV199pQMHDighIcFjnWXLltXf/vY3paSk5HkLTEH69OmjzMxMzZs3zz1t9uzZio2NVVxcnCRpxYoVatiwoZo2baqzZ8+6X506dfK6hUySrr/+epUvX75Q8U+fPq01a9bolltuUVhYmMf6O3furNOnTyslJcXd/o477tCDDz6oJ554QqNHj9bTTz+tG2+8sVhjz8nOu1WjKP1KTk5Ww4YNVb9+fY/13XXXXbnGKV++vK6//nqPaYV9j1esWCGHw6F77rnHo110dLSaNGnibnfFFVeofPnyeuqppzRjxgx98cUXJX5//vKXvyg8PNz9c1RUlCIjI0v8BECHw6GuXbt6TGvcuLHHelesWKHLLrtMXbt29Rh306ZNFR0dXaSHf5iZ+vTpo48//lhz585VtWrV3POysrI81p/zts2mTZuqevXq7p9DQkJ05ZVX5voedOvWzWtMkor9flWoUEGBgYHu1zvvvOMxP7ftSpK+++479ezZU9HR0fL391dgYKDat28vSbkeu7Jvq83Ws2dPSf93zM1W3O0h+zbD3G57PF/v3r31ySef6LPPPtOsWbN0+eWX67rrrsu17dmzZzV27FjVr19fQUFBCggIUFBQkPbs2eM1xiuuuEKvvfaali1bpvj4eLVr187rlk9fshy3gBV2H/bFuWvDhg365Zdf1KtXL49YWVlZuummm7RlyxadOHGiyMfhNWvW6OzZs4Ua/4IFC9SzZ0+1a9dOf/vb37Ry5UrFx8frhRdecN8e6+fnpwEDBmjNmjV6/vnndfjwYX3zzTe655573Oe288990v9tP/v37y9UP/DHQIGE34169erpqquu8no5nc4Clx06dKhefPFFpaSk6Oabb1aFChUUFxeX56PDz5f99JrKlSt7zYuJiXHPz/43KirKq11u0/Ja56RJk/Tggw+qZcuWeuedd5SSkqItW7bopptu0qlTp7zaR0REePwcFBSU7/TTp0/n2pfzx5DXWLOysnT06NE8l89Pu3btdOWVV2r27NmSpJ07d2rbtm3uz4tI0qFDh7Rz506PX84CAwMVHh4uM9P//vc/j3Xm1s/8xnb27FlNnTrVa/2dO3eWJK/19+7dW5mZmQoICNAjjzxSrHHn5scff1RMTEyR+/Xzzz+XePsq7Ht86NAhmZmioqK82qakpLjbOZ1OJScnq2nTpnr66afVoEEDxcTEaPjw4crMzCzW+1OhQgWvacHBwblu/0URFhamkJAQr/Wev08cOnRIv/76q4KCgrzGnZqa6rWN5MXM9Pe//13z58/XnDlz9Ne//tVjfu/evT3Wnf1HgmxFeQ9ytg0ODpakfN+v7GIttyJj3bp12rJli2bMmJHrsrltV8ePH1e7du20adMmjR492r2OJUuW5NqXgIAAr35HR0dLktcTw4q7PWTPz5nznK677jrVrl1bM2fO1Lx589S7d+9cP5MlSY899pieffZZde/eXf/+97+1adMmbdmyRU2aNMm1P126dFFUVJROnz6txx57zOPzXL6WncvsY0th92FfnLsOHTok6benyOWMNX78eJmZfvnll2Idh0siuzg8/1z/3HPPadCgQRo9erSioqJUu3ZtSb99jkuSqlSp4rGO7O2npMcf/L4EXOwOABdCQECAHnvsMT322GP69ddf9eGHH+rpp59Wp06dtG/fPoWFheW5bPbJ+eDBg6patarHvAMHDqhixYoe7bJPFOdLTU3N9S9xuZ2E58+frw4dOmj69Oke048dO5b/IH3g/LHmdODAAfn5+RX6ik1uevfurSFDhmjz5s1auHCh/Pz8PK7MVaxYUaGhoXk+Ejz7vc6W1y8xuSlfvrz8/f2VkJCgAQMG5NqmZs2a7v+fOHFCCQkJuvLKK3Xo0CH9/e9/17vvvlvoeHnZvHmzUlNT3Y8/L0q/KlSokOf2lZvc3p/CvscVK1aUw+Fwf4dMTudPa9SokRYvXiwz086dOzVnzhyNGjVKoaGhGjJkSK5xLlXZDzpISkrKdf75VzLykl0czZ49W7NmzdI999zj1WbEiBEe3+9TmPX6UkxMjBo0aKDVq1fr9OnTHkVE06ZNJf1W9OQmt+3qP//5jw4cOKB169a5rxpJyvNrE86ePauff/7Zo/jJ3o5zK4iKI3tb/uWXXwpse//992vYsGFyOBzq1atXnu3mz5+ve++9V2PHjvWY/r///U+XXXaZV/v+/fvr2LFjatCggR555BG1a9euRMfQ/CxfvlwOh8N99auw+7Avzl3Z7/XUqVN17bXX5tq/qKgonT17tkjH4ZLKvqp2/lWhgIAATZo0SaNGjdLevXtVsWJFVa5cWZ06dVLNmjW9zvPZ20/O8w/+2CiQ8Kdz2WWX6bbbbtP+/fuVmJio77//XvXr18/zr67Zt5LMnz/f/ZQsSdqyZYt2796tZ555RpLUsmVLBQcH66233tKtt97qbpeSkqIffvih0F+I6XA4vE5mO3fu1MaNGz1u0SkNderUUZUqVbRw4UI9/vjj7pPgiRMn9M4777ifbFdcvXr10rBhwzRz5kwtX75ccXFxHt9NEh8fr7Fjx6pChQrFPknmlcewsDD95S9/0aeffqrGjRu7r6jlpX///vrxxx+1efNmffnll7rttts0efJkDRo0qFj9kn470fbv31+BgYHu9RSlX+3bt9eLL76oL774wuM2u+ynbhVGYd/j7FtT9u/f73XrTV4cDoeaNGmiyZMna86cOT754t+iKMyVk4LEx8dr8eLFOnfunFq2bFnk5c1Mffv21ezZszVz5kz3X6VzqlGjhk+/JLc4nnnmGfXs2VOPPfaY/vGPfxTpDw45ZS+b89g1c+bMPJdZsGCBx5XZhQsXSlK+T8Qsiuzbis//bpu89OrVS5s2bVK9evW8riCcL7fj83vvvaf9+/friiuu8Jj++uuva/78+XrjjTfUvn17NW/eXPfff7+WLVtW9MEUYPbs2Xr//ffVs2dP962Zhd2HfXHuatOmjS677DJ98cUX+X6xb1BQUJGOwyU1b948BQYGqkWLFl7zypYtq0aNGkmStm3bpjVr1uill17yapf9xL+ctzbjj40CCX8KXbt2VcOGDXXVVVepUqVK+uGHHzRlyhTFxsa6L69nHyhffvll9erVS4GBgapTp47q1Kmjfv36aerUqfLz89PNN9+s77//Xs8++6yqVavm/kU3IiJCjz32mMaNG6fy5cvrlltu0U8//aSRI0eqcuXKXvc15yU+Pl7PP/+8hg8frvbt2+urr77SqFGjVLNmzULfi11cfn5+mjBhgu6++27Fx8frgQceUEZGhiZOnKhff/01128kL4ro6Gh17txZs2fPdn8+43yJiYl65513dN1112nQoEFq3LixsrKy9OOPP2rVqlUaPHhwgb+0hoeHKzY2Vu+++67i4uIUERGhihUrqkaNGnr55ZfVtm1btWvXTg8++KBq1KihY8eO6ZtvvtG///1v9xdGZv9iM3v2bDVo0EANGjTQww8/rKeeekpt2rTRNddcU+BY9+zZo5SUFGVlZennn3/Wpk2bNGvWLKWnp2vu3Llq0KCBu21h+5WYmKg33nhDN998s0aNGqWoqCgtXLhQX375pSTve+dzU9j3uE2bNurXr5/uv/9+ffLJJ7ruuutUpkwZHTx4UOvXr1ejRo304IMPasWKFXrllVfUvXt31apVS2bmfmyyrz6zVViXX365QkNDtWDBAtWrV09ly5ZVTEyM+5ajwrjzzju1YMECde7cWY8++qiuueYaBQYG6qefftLatWv117/+Vbfcckueyz/yyCOaNWuWevfurUaNGnl8niI4OFjNmjUr0Rh96a677tKuXbs0ZswY7dixQ/fdd59q166trKws7du3z/15wcJc3WrdurXKly+v/v37a/jw4QoMDNSCBQu0Y8eOXNsHBQXppZde0vHjx3X11Vdrw4YNGj16tG6++eZCfa60MKpWrapatWopJSWlwFtkY2JiClW4xMfHa86cOapbt64aN26srVu3auLEiV5XHT777DM98sgj6tWrl7tInjVrlm677TZNmTJFiYmJkn67Le7yyy9Xr169NGvWrALjnzp1yr1NnTp1St99952WLVumFStWqH379h63RRZ2H/bFuats2bKaOnWqevXqpV9++UW33XabIiMjdeTIEe3YsUNHjhxx3xVR2OOdJMXFxSk5ObnAc9/EiRP1xRdfKC4uTlWrVtXhw4c1a9YsrVq1SiNGjPC4+pN9+2fjxo1lZtq8ebPGjx+vm266KdfiLiUlRf7+/nl+Lg1/UBf+uRBA0RTni2JzPsXupZdestatW1vFihXdj5ft06ePff/99x7LDR061GJiYszPz8/jqWDnzp2z8ePH25VXXmmBgYFWsWJFu+eee9yPEM6WlZVlo0ePtqpVq1pQUJA1btzYVqxYYU2aNPF4Al1+TzrLyMiwxx9/3KpUqWIhISHWvHlzW7ZsmdcTv7KfYjdx4kSP5fNad0Hv4/mWLVtmLVu2tJCQECtTpozFxcXZf//730LFKci7775rkiwiIsJOnz7tNf/48eM2bNgwq1OnjgUFBbkfBzto0CCPx9Iqny8F/PDDD61Zs2YWHBxskjy2hb1791rv3r2tSpUqFhgYaJUqVbLWrVvb6NGjzcxs586dFhoa6rGMmdnp06etRYsWVqNGDfdje3OT/b5kvwICAqxChQrWqlUre/rpp722ucL2K9vnn39uN9xwg4WEhFhERIT16dPH3nzzTa8nheX3xKvCvsdmv30BZcuWLa1MmTIWGhpql19+ud177732ySefmJnZl19+aXfddZddfvnlFhoaak6n06655hqbM2dOnu9RtryeYpdbXnPu03lZtGiR1a1b1wIDAz2eZpjXF8UOHz7c6zHCmZmZ9uKLL1qTJk0sJCTEypYta3Xr1rUHHnjA9uzZk2/82NjYQj9tM791dOnSxWt6+/btPZ4oltc+nb0Nnv9Uw/x89NFH1qNHD6tataoFBgZaWFiY1a9f3x588EF3ns/vQ17b1YYNG6xVq1YWFhZmlSpVsr///e+2bds2ryfBZedi586d1qFDBwsNDbWIiAh78MEH7fjx4x7rLOn28Oyzz1r58uW9jjUFPRHOLPenIh49etT69Olj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qlixosqUKaNu3brpp59+8mhz9OhRJSQkyOl0yul0KiEhQb/++mtJugsAAAAA+Sp2gbRlyxa9+uqraty4scf0CRMmaNKkSZo2bZq2bNmi6Oho3XjjjTp27Ji7TWJiopYuXarFixdr/fr1On78uOLj43Xu3Dl3m549e2r79u1KSkpSUlKStm/froSEhOJ2FwAAAAAKVKwC6fjx47r77rv12muvqXz58u7pZqYpU6bomWee0a233qqGDRvqzTff1MmTJ7Vw4UJJUlpammbNmqWXXnpJN9xwg5o1a6b58+frs88+04cffihJ2r17t5KSkvT666+rVatWatWqlV577TWtWLFCX331lQ+GDQAAAADeilUgDRgwQF26dNENN9zgMX3v3r1KTU1Vx44d3dOCg4PVvn17bdiwQZK0detWZWZmerSJiYlRw4YN3W02btwop9Opli1buttce+21cjqd7jY5ZWRkKD093eMFAAAAAEURUNQFFi9erG3btmnLli1e81JTUyVJUVFRHtOjoqL0ww8/uNsEBQV5XHnKbpO9fGpqqiIjI73WHxkZ6W6T07hx4zRy5MiiDgcAAAAA3Ip0BWnfvn169NFHNX/+fIWEhOTZzuFwePxsZl7TcsrZJrf2+a1n6NChSktLc7/27duXbzwAAAAAyKlIBdLWrVt1+PBhtWjRQgEBAQoICFBycrL+3//7fwoICHBfOcp5lefw4cPuedHR0Tpz5oyOHj2ab5tDhw55xT9y5IjX1alswcHBKleunMcLAAAAAIqiSAVSXFycPvvsM23fvt39uuqqq3T33Xdr+/btqlWrlqKjo7V69Wr3MmfOnFFycrJat24tSWrRooUCAwM92hw8eFCff/65u02rVq2UlpamzZs3u9ts2rRJaWlp7jYAAAAA4GtF+gxSeHi4GjZs6DGtTJkyqlChgnt6YmKixo4dq9q1a6t27doaO3aswsLC1LNnT0mS0+lUnz59NHjwYFWoUEERERF6/PHH1ahRI/dDH+rVq6ebbrpJffv21cyZMyVJ/fr1U3x8vOrUqVPiQQMAAABAbor8kIaCPPnkkzp16pQeeughHT16VC1bttSqVasUHh7ubjN58mQFBATojjvu0KlTpxQXF6c5c+bI39/f3WbBggV65JFH3E+769atm6ZNm+br7gIAAACAm8PM7GJ3ojSkp6fL6XQqLS3t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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "degrees = (similarity_matrix>0).sum(axis=1)\n", "plt.figure(figsize=(10,3))\n", "plt.hist(degrees, bins=range(degrees.min(), degrees.max()))\n", "plt.xticks(ticks=range(degrees.min(), degrees.max(), 2))\n", "plt.title(f\"Histogram of Vertex Degrees in the {k}-nn Graph (Max. Degree: {degrees.max()})\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most vertices are of degree 2. But while the the number of vertices of large degree quickly declines, there are vertices of degree up to 59." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3. Define the order function__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we define the order function _(O1)_.\n", "\n", "To do so, we use the `matrix_order()` function provided by the tangle library." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:42.253833Z", "start_time": "2024-04-25T13:55:42.247774Z" } }, "outputs": [], "source": [ "from tangles.util.matrix_order import matrix_order\n", "\n", "def order_function(features):\n", " return matrix_order(-similarity_matrix, features)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that `order_function()` does not literately calculate the order function _(O1)_, but an order function that induces the same order on our features as _(O1)_ does. Thus, we can go with `order_function()`, which has a more efficient implementation, and achieve the same results in the following calculations.\n", "\n", "Let's have a look at the orders it assigns to the 50 original features." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:42.587332Z", "start_time": "2024-04-25T13:55:42.257084Z" } }, "outputs": [ { "data": { "image/png": "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PjMRERnSiPy/oZKIiIiIiIjoieKw8ERERERERCphwkVERERERKQSJlxEREREREQqqXAJ14IFC+Dj4wMrKysEBATg999/L+0mERERERHRM6pCJVwrVqzAiBEj8OGHHyI5ORnNmzdHu3btkJqaWtpNIyIiIiKiZ1CFGqWwadOmaNy4sd7zU3x9fdGlSxfMmDGjFFtGRERERETPogrz4OOsrCzs27cPH3zwgd780NBQ7Nq1y2hMZmYmMjMzldcPHz7E9evX4ezsDI1Go2p7iYiIiIio7BIR3L59G+7u7jAzM33hYIVJuK5evYqcnBy4urrqzXd1dUV6errRmBkzZmDy5MlPo3lERERERFQOpaWloUaNGiaXV5iEK1f+nikRMdlbFRUVhcjISOX1rVu34OnpibS0NNjb26vazqLwn/hbkcsenhz2VOPyxpY0rrixjCs8lt9F6cbljeV38WTi8sbyuyjduLyxXKelG5c3lt9F6cbljeV38eTjSltGRgY8PDxQqVKlAstVmITLxcUFWq3WoDfr8uXLBr1euXQ6HXQ6ncF8e3v7MpFwmelsilw2b3ufRlze2JLGFTeWcYXH8rso3bi8sfwunkxc3lh+F6UblzeW67R04/LG8rso3bi8sfwunnxcWVHYrUYVZpRCS0tLBAQEICEhQW9+QkICgoODS6lVRERERET0LKswPVwAEBkZiX79+iEwMBBBQUH44osvkJqaioiIiNJuGhERERERPYMqVMLVq1cvXLt2DVOmTMHFixfh7++PDRs2wMvLq7SbRkREREREz6AKlXABwODBgzF48ODSbgYREREREVUAFeYeLiIiIiIioqeNCRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSlRNuKZNm4bg4GDY2NjA0dHRaJnU1FR07NgRtra2cHFxwbBhw5CVlaVX5tChQwgJCYG1tTWqV6+OKVOmQET0ymzfvh0BAQGwsrJCzZo1sXDhQoO6Vq1aBT8/P+h0Ovj5+WH16tVP7LMSERERERHlp2rClZWVhR49euDdd981ujwnJwcdOnTA3bt3sXPnTixfvhyrVq3CqFGjlDIZGRlo06YN3N3dsXfvXsybNw8xMTGYM2eOUubMmTNo3749mjdvjuTkZIwbNw7Dhg3DqlWrlDKJiYno1asX+vXrh4MHD6Jfv37o2bMn9uzZo94KICIiIiKiCs1czTefPHkyACAuLs7o8vj4eBw5cgRpaWlwd3cHAHzyyScIDw/HtGnTYG9vj6VLl+L+/fuIi4uDTqeDv78/jh8/jjlz5iAyMhIajQYLFy6Ep6cnYmNjAQC+vr5ISkpCTEwMunXrBgCIjY1FmzZtEBUVBQCIiorC9u3bERsbi2XLlqm5GoiIiIiIqIIq1Xu4EhMT4e/vryRbABAWFobMzEzs27dPKRMSEgKdTqdX5sKFCzh79qxSJjQ0VO+9w8LCkJSUhOzs7ALL7Nq1y2T7MjMzkZGRoTcREREREREVVakmXOnp6XB1ddWb5+TkBEtLS6Snp5ssk/u6sDIPHjzA1atXCyyT+x7GzJgxAw4ODsrk4eFRgk9JREREREQVVbETrkmTJkGj0RQ4JSUlFfn9NBqNwTwR0Zufv0zugBlPooyx+nNFRUXh1q1bypSWllbYxyEiIiIiIlIU+x6uoUOHonfv3gWW8fb2LtJ7ubm5GQxacePGDWRnZyu9UW5ubga9UJcvXwaAQsuYm5vD2dm5wDL5e73y0ul0epcyEhERERERFUexEy4XFxe4uLg8kcqDgoIwbdo0XLx4EdWqVQPwaCANnU6HgIAApcy4ceOQlZUFS0tLpYy7u7uS2AUFBWHt2rV67x0fH4/AwEBYWFgoZRISEjBy5Ei9MsHBwU/ksxAREREREeWn6j1cqampOHDgAFJTU5GTk4MDBw7gwIEDuHPnDgAgNDQUfn5+6NevH5KTk7F582aMHj0aAwcOhL29PQCgT58+0Ol0CA8Px+HDh7F69WpMnz5dGaEQACIiInDu3DlERkYiJSUFixcvxqJFizB69GilLcOHD0d8fDyio6Nx9OhRREdHY9OmTRgxYoSaq4CIiIiIiCowVROuCRMmoFGjRpg4cSLu3LmDRo0aoVGjRso9XlqtFuvXr4eVlRWaNWuGnj17okuXLoiJiVHew8HBAQkJCTh//jwCAwMxePBgREZGIjIyUinj4+ODDRs2YNu2bWjYsCGmTp2KuXPnKkPCA0BwcDCWL1+OJUuWoEGDBoiLi8OKFSvQtGlTNVcBERERERFVYKo+hysuLs7kM7hyeXp6Yt26dQWWqV+/Pnbs2FFgmZCQEOzfv7/AMt27d0f37t0LLENERERERPSklOqw8ERERERERM8yJlxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBImXERERERERCphwkVERERERKQSJlxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBImXERERERERCphwkVERERERKQSJlxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBImXERERERERCphwkVERERERKQSJlxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBImXERERERERCphwkVERERERKQSJlxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBLVEq6zZ8/irbfego+PD6ytrVGrVi1MnDgRWVlZeuVSU1PRsWNH2NrawsXFBcOGDTMoc+jQIYSEhMDa2hrVq1fHlClTICJ6ZbZv346AgABYWVmhZs2aWLhwoUGbVq1aBT8/P+h0Ovj5+WH16tVP/oMTERERERH9P+ZqvfHRo0fx8OFD/O9//0Pt2rVx+PBhDBw4EHfv3kVMTAwAICcnBx06dECVKlWwc+dOXLt2DQMGDICIYN68eQCAjIwMtGnTBq1atcLevXtx/PhxhIeHw9bWFqNGjQIAnDlzBu3bt8fAgQPx3Xff4Y8//sDgwYNRpUoVdOvWDQCQmJiIXr16YerUqejatStWr16Nnj17YufOnWjatKlaq4GIiIiIiCow1RKutm3bom3btsrrmjVr4tixY/j888+VhCs+Ph5HjhxBWloa3N3dAQCffPIJwsPDMW3aNNjb22Pp0qW4f/8+4uLioNPp4O/vj+PHj2POnDmIjIyERqPBwoUL4enpidjYWACAr68vkpKSEBMToyRcsbGxaNOmDaKiogAAUVFR2L59O2JjY7Fs2TK1VgMR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JCIjI5UyPj4+2LBhA7Zt24aGDRti6tSpmDt3rjIkPAAEBwdj+fLlWLJkCRo0aIC4uDi93jYiIiIiIqInTfXncOXy9vZWBrLIy9PTE+vWrSswtn79+tixY0eBZUJCQrB///4Cy3Tv3h3du3cvvLFERERERERPQKn2cBERERERET3LmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUqYcBEREREREamECRcREREREZFKmHARERERERGphAkXERERERGRSphwERERERERqYQJFxERERERkUrMS7sBRERERERU/p2d2aG0m1AmsYeLiIiIiIhIJUy4iIiIiIiIVMKEi4iIiIiISCW8h4uIiIjKPd47QkRlFRMuInqm8KCr/ON3SEREzxImXERUJvGgm4iIiJ4FTLiIiIiInlE8eUVU+phwEREREdETwySPSB8TLiIionKCB7JEVBz8zSgbOCw8ERERERGRSlTt4fL29sa5c+f05r3//vuYOXOm8jo1NRVDhgzBli1bYG1tjT59+iAmJgaWlpZKmUOHDmHo0KH4888/UblyZQwaNAgfffQRNBqNUmb79u2IjIzE33//DXd3d4wdOxYRERF6da9atQofffQRTp06hVq1amHatGno2rWrSp+eiACeXSMiehL4W0pUfql+SeGUKVMwcOBA5bWdnZ3y/5ycHHTo0AFVqlTBzp07ce3aNQwYMAAignnz5gEAMjIy0KZNG7Rq1Qp79+7F8ePHER4eDltbW4waNQoAcObMGbRv3x4DBw7Ed999hz/++AODBw9GlSpV0K1bNwBAYmIievXqhalTp6Jr165YvXo1evbsiZ07d6Jp06ZqrwYiIiIiohJhwl2+qZ5wVapUCW5ubkaXxcfH48iRI0hLS4O7uzsA4JNPPkF4eDimTZsGe3t7LF26FPfv30dcXBx0Oh38/f1x/PhxzJkzB5GRkdBoNFi4cCE8PT0RGxsLAPD19UVSUhJiYmKUhCs2NhZt2rRBVFQUACAqKgrbt29HbGwsli1bpvZqICIiqjAe5+CQB5ZU1nEbpeJSPeGKjo7G1KlT4eHhgR49emDMmDHK5YKJiYnw9/dXki0ACAsLQ2ZmJvbt24dWrVohMTERISEh0Ol0emWioqJw9uxZ+Pj4IDExEaGhoXr1hoWFYdGiRcjOzoaFhQUSExMxcuRIgzK5SZoxmZmZyMzMVF5nZGQ8zqogIqJnzLN+4PWsfz4ioqdB1YRr+PDhaNy4MZycnPDnn38iKioKZ86cwVdffQUASE9Ph6urq16Mk5MTLC0tkZ6erpTx9vbWK5Mbk56eDh8fH6Pv4+rqigcPHuDq1auoVq2ayTK59RgzY8YMTJ48uUSfnYjoWcGDbqInh39PRBVPsROuSZMmFZqE7N27F4GBgXo9Sg0aNICTkxO6d++O6OhoODs7A4DewBe5RERvfv4yImIwv6RljNWfKyoqCpGRkcrrjIwMeHh4mCxPREREFUNFSJye9c/4rH8+KjuKnXANHToUvXv3LrBM/h6pXC+99BIA4OTJk3B2doabmxv27NmjV+bGjRvIzs5WeqPc3NwMeqEuX74MAIWWMTc3VxI7U2Xy93rlpdPp9C5lJDKFP9pEhvh3QUT0/+NvYsVV7ITLxcUFLi4uJaosOTkZAFCtWjUAQFBQEKZNm4aLFy8q8+Lj46HT6RAQEKCUGTduHLKyspR7v+Lj4+Hu7q4kdkFBQVi7dq1eXfHx8QgMDISFhYVSJiEhQa/XLT4+HsHBwSX6LFS2lZcftfLSTqB8tZWM43dIRERFwf3Fk6XaPVyJiYnYvXs3WrVqBQcHB+zduxcjR45Ep06d4OnpCQAIDQ2Fn58f+vXrh9mzZ+P69esYPXo0Bg4cCHt7ewBAnz59MHnyZISHh2PcuHE4ceIEpk+fjgkTJiiXA0ZEROCzzz5DZGQkBg4ciMTERCxatEhv9MHhw4ejRYsWiI6ORufOnfHzzz9j06ZN2Llzp1qrgIiIiMo4HlgSkdpUS7h0Oh1WrFiByZMnIzMzE15eXhg4cCDGjh2rlNFqtVi/fj0GDx6MZs2a6T34OJeDgwMSEhIwZMgQBAYGwsnJCZGRkXr3Vvn4+GDDhg0YOXIk5s+fD3d3d8ydO1cZEh4AgoODsXz5cowfPx4fffQRatWqhRUrVvAZXERERERlQEmTXybNVNaplnA1btwYu3fvLrScp6cn1q1bV2CZ+vXrY8eOHQWWCQkJwf79+wss0717d3Tv3r3QNhFRxcMdNhEREalB9edwERHRk8XkkIiIqPxgwkVUgfBAnahi4t8+EZVlz/pvFBOuCuhZ36grAn6HREREROUDE65yjAfdRERERERlGxMuUh0TQyIqy/gbRUREajIr7QYQERERERE9q9jDRUT0GNg7UnbwuyAiorKIPVxEREREREQqYcJFRERERESkEl5SSERE9JTx8kciooqDCRcRUSngATcREVHFwEsKiYiIiIiIVMKEi4iIiIiISCVMuIiIiIiIiFTCe7iI8uB9NURERET0JDHhojKNCRARERERlWdMuKjImPwQERERERUP7+EiIiIiIiJSCRMuIiIiIiIilTDhIiIiIiIiUgkTLiIiIiIiIpUw4SIiIiIiIlIJEy4iIiIiIiKVMOEiIiIiIiJSCRMuIiIiIiIilTDhIiIiIiIiUol5aTegPBERAEBGRkYpt4SIiIiIiEpTbk6QmyOYwoSrGG7fvg0A8PDwKOWWEBERERFRWXD79m04ODiYXK6RwlIyUjx8+BAXLlxApUqVoNFoSrs5RmVkZMDDwwNpaWmwt7dnXCnFlae2lpe48tTWZz2uPLX1WY8rT2191uPKU1vLS1x5auuzHlfe2vq0iAhu374Nd3d3mJmZvlOLPVzFYGZmhho1apR2M4rE3t6+RBsn455sXGnU+azHlUadjCs7dTKu7NTJuLJT57MeVxp1Mq7s1Pk4bX0aCurZysVBM4iIiIiIiFTChIuIiIiIiEglTLieMTqdDhMnToROp2NcKcaVRp3Pelxp1Mm4slMn48pOnYwrO3U+63GlUSfjyk6dj9PWsoaDZhAREREREamEPVxEREREREQqYcJFRERERESkEiZcREREREREKmHCRUREREREpBImXERERERERCoxL+0GEBFR+fXgwQNcuHABnp6eqtZz6dIlZGZmFrueyZMnY8iQIXBxcSlW3JUrV+Do6AgLC4silX/w4AG2bt2K1NRUeHl5oVWrVtBqtUbLXr16tdjtyZWTk6PUYWZmhszMTPz88894+PAhWrVqBVdXV5Oxd+/exb59+3Dx4kVotVr4+PigcePG0Gg0hdZ77tw5pKenQ6PRwNXVFV5eXiVqPxFRhSRERKXg4cOHkpOTU+y4JUuWyM2bN1VokaHjx4/Lpk2b5MSJE6rV8eDBA73Xe/bskcTERLl//36R4s+dOye7d++WvXv3ypUrV4pVb3p6uly6dMmgDcVx4MABMTMzM7ps/vz58vLLL0uPHj1k8+bNesuuXLkiPj4+BjEZGRny+uuvi6enp/Tv318yMzNl8ODBotFoxMzMTFq0aCG3bt0yiLt165bBdPPmTbGwsJA9e/Yo8/L73//+p6zrhw8fyrRp08TR0VHMzMzExsZGRo4caXQ7fe+992TdunUiIpKWlib16tUTrVYrrq6uotVqpX79+nL+/Hmj68XMzExat24tS5cuLfL3LPJoXbu5uYmZmZk0aNBA0tLSxN/fX2xtbcXOzk6cnJzkzz//NIjLycmRMWPGiI2NjZiZmYmZmZloNBrRaDTi5eUlv/zyi8k658yZIzVq1NCLMTMzkxo1ash///vfIrc9v+vXr8vXX39tcrmp34acnBw5d+6c0WUPHz6U06dPS3Z2toiIZGZmyvLly+Xrr78u1t+GiEirVq3k7NmzxYpJTk6WlStXyu+//y4PHz40We7+/fuSlZWlvD558qSMGzdO+vbtKx9++KGcPn3aaNyPP/4od+/eLVabch04cEAWL16svPfhw4fl3XfflUGDBsnGjRsLjN28ebNMnjxZIiIiZMiQIRITEyPHjx8vtM7jx49LXFyczJw5U6KjoyUuLq5Icaakp6fL5MmTTS5PS0uT27dvG8zPysqS7du3m4y7evWqbNmyRa5duyYij36bZs6cKZMnT5YjR44Uq40+Pj7F+oxZWVmyevVqmTVrlnz77bdy584do+XS0tL0tuEdO3ZInz595P/+7//k9ddfl127dhmNi4mJKfZ2nOuXX36RCRMmKO+9efNmadeunYSFhcn//vc/k3H//vuvLFq0SN544w1p27atdOjQQYYOHSqbNm0qtM6HDx9KfHy8TJo0SSIiIuTdd9+VSZMmSUJCQoF/U+UBE65n2LO4QxMp2k6NO7SSKejgWURk3bp18tZbb8mYMWMkJSVFb9n169elVatWBjHZ2dny4YcfSosWLWTChAkiIjJr1iyxsbERS0tL5aC6qCwsLArcCf7222/K9ikisnTpUnnhhRfExsZGatWqJZ9++qnRuBkzZihJwfXr1+Xll1/WO8Bs27at3LhxwyDOzs5O3nzzTfnjjz+K/BlERM6cOSONGzcWrVYr7du3l1u3bskrr7yi1FmzZk05duyYyfj58+eLp6encgCdOzVr1kySkpJMxv30008SHBwslpaWSoylpaUEBwfL6tWri/UZRExvM59++qnY2NjIkCFD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XGnUyTjT30VJH3xdXpiBiMqdjIyMAqfbt28X+h4XLlzAwIED0aBBAzx48AAHDhzA119/DU9PT9ViGfdk44ob+5///KfAKTIyEhqNRi/m999/x+3btxEYGIimTZvis88+w5UrVwptF+PKTp0ljTty5AgaNGiAzp07G51CQkJMxlavXh2HDh0yufyvv/5CtWrVKlxceWprSeMcHR3h5ORkcmrRooXR97t48SKef/55k/X5+/sjPT39icWVRp2MM/1dNGzYEI0aNULDhg0NpkaNGqF3794m37dcKO2Mj0rOzMxMeUaVyKPekbyjwRV0GVt5iCtPbX3acSV96LXIo5udcy87CwoKKtZNzyWNZdyTjStp7OM8+Pru3buyaNEiadasmVhYWIiZmZnExsYWOmIV48pOncWNK+lDr0UejYbr7+9vdMS1f//9V/z9/eW9996rcHHlqa0ljSvpM0Ld3d31Hj2T344dO8Td3f2JxZVGnYwz/V2U9MHX5QUTrnIs7wP0unbtKubm5hIaGqq8bt++vcmD9fIQV57a+rTjSrpDi46OlsqVK4ufn5+sWbPG6Do3paSxjHuycY8T+zgPvs7r6NGjMmbMGHFzcxMrKyvp2LFjkepnXNmpsyhxJX3otcijk0Xu7u7i4eEh0dHRsmbNGvn5559l5syZ4uHhIe7u7kbv83jW48pTW0saV9JnhL755pvSokULo0Od379/X0JCQow+bLekcaVRJ+NMfxclffB1eaERESntXjYqmTfeeKNI5ZYsWVIu40qjzvIS16pVK7Rr1w5jx441Wv7gwYNo1KgRHj58qDffzMwM1tbWeOWVV6DVak3W99NPPxnMK2ks455s3OPEvvHGG7CxscH8+fONlk9JSUH79u1x5swZk++ZV05ODtauXYvFixfjl19+KVIM48pWnY/TVgA4cOAAGjZsaHTZuXPn8O677+K3335D7qGGRqNBWFgYFixYAG9v7woZV57aWpK4L7/8Ev/++y+GDx9u9D0vXbqEhQsXYuLEiXrzz58/j8DAQOh0OgwZMgT16tUD8OjS1gULFiAzMxNJSUnw8PB4InGlUSfjTH8Xq1evxt27d9G3b1+DZQBw48YN/PLLLxgwYIDR5WUdEy6icqikO7Tw8HCDe3SMMZb8ljSWcU827nFiMzMzkZOTAxsbm0JjiUy5desWli5diq+++goHDx5ETk5OgeVv3LiBkydPQkRQp04dODk5FameZz2uPLX1cT5jcZw5cwaDBw9GfHy8XoLXpk0bfPbZZ6hdu/YTjSuNOhln+rvI6+rVq9BoNHB2di5S+bKOCRcREREVasuWLVi8eDF++ukneHl5oVu3bujWrRsaNWpU2k2jMmTLli0YOnQodu/eDXt7e71lt27dQnBwMBYuXIjmzZubfI8bN27gxIkTAIDatWujcuXKRaq7pHGlUSfjDN28eRMffvghVqxYgRs3bgAAnJyc0Lt3b3z88cdwdHQsUt1lERMuonKoffv2WLZsGRwcHAAA06ZNw5AhQ5Qfo2vXrqF58+Y4cuRIKbaSyhozM7NCe8Y0Gg0ePHjwlFpEZd358+cRFxeHxYsX4+7du+jZsycWLlyIgwcPws/Pr7SbR2VQp06d0KpVK4wcOdLo8rlz52Lr1q1YvXr1U24ZlWXXr19HUFAQ/vnnH7z++uvw9fWFiCAlJQXff/89PDw8sGvXLtV6V9XGhIuoHDIzM0N6ejqqVq0KALC3t8eBAwdQs2ZNAI8uKXR3dy/0Uh+qWH7++WeTy3bt2oV58+ZBRHDv3r2n2Coqq9q3b4+dO3fi1Vdfxeuvv462bdtCq9XCwsKCCReZ5OXlhY0bN8LX19fo8qNHjyI0NBSpqalPuWVUlo0YMQKbN2/Gpk2b4OrqqrcsPT0doaGhePnll/Hf//63lFr4eMxLuwFE9Ph43oSKonPnzgbzjh49iqioKKxduxavv/46pk6dWgoto7IoPj4ew4YNw7vvvos6deqUdnOonLh06RIsLCxMLjc3Ny/yM+uo4lizZg3+97//GSRbAODm5oZZs2YhIiKi3CZcfPAxEVEF9DgPW6aK4XEe7kwV1+M8FJoqrsd5aHJ5wISLqBzSaDQG9+IUZdQ6olu3buH9999H7dq18ffff2Pz5s1Yu3Yt/P39S7tpVMYEBQXhyy+/xMWLFzFo0CAsX74c1atXx8OHD5GQkIDbt2+XdhOpDGrfvj0mTJiA+/fvGyy7d+8eJk6ciFdffbUUWkZlmYuLC86ePWty+ZkzZ8r1iIW8h4uoHDIzM0O7du2g0+kAAGvXrkXr1q1ha2sL4NHw3xs3buQ9XKRn1qxZiI6OhpubG6ZPn270EkOighw7dgyLFi3Ct99+i5s3b6JNmzYlen4XPbsuXbqExo0bQ6vVYujQoXjuueeg0WiQkpKC+fPnIycnB/v37zd66RhVXG+99RZOnjyJhIQEWFpa6i3LzMxEWFgYatWqhUWLFpVSCx8PEy6icuhxHiZNFdfjPGyZKK/HfWAyPdse56HQVDE9zkOTywMmXEREFcTjPGyZiKi4ntYDk+nZ8KQemlwWMeEiIiIiIqIy4XEeYF1WMeEiIiIiIiJSCUcpJCIiIiIiUgkTLiIiIiIiIpUw4SIiIiIiIlIJEy4iIiIiIiKVMOEiIiIiIiJSCRMuIiIiIiIilTDhIiIiIiIiUsn/B9pikMw8jXYEAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "order = order_function(features)\n", "plt.figure(figsize=(10,3))\n", "plt.bar(range(len(order)), order)\n", "plt.title(f'Feature Orders')\n", "plt.xticks(range(len(var_names)), var_names, rotation=90);" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:42.593032Z", "start_time": "2024-04-25T13:55:42.586541Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Features, sorted lowest to highest order:\n", "['E3' 'E5' 'E7' 'N8' 'A7' 'N7' 'A4' 'E4' 'A5' 'E1' 'E10' 'E2' 'A9' 'N1'\n", " 'O10' 'N9' 'N6' 'O1' 'O2' 'C4' 'N10' 'E6' 'E9' 'N2' 'O8' 'O5' 'E8' 'A2'\n", " 'C9' 'C5' 'O3' 'A1' 'C6' 'A10' 'A6' 'C1' 'C2' 'O4' 'O6' 'C7' 'N3' 'O7'\n", " 'A8' 'C10' 'C8' 'N4' 'A3' 'N5' 'C3' 'O9']\n" ] } ], "source": [ "print('Features, sorted lowest to highest order:')\n", "print(var_names[np.argsort(order)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While all factors have features of relatively low and of relatively high order, factor E has most features of low order and factors O and C have most features of high order.\n", "\n", "What does this tell us? \n", "- For our order function, the order of a feature is high if it separates the participants within dense areas of the graph, whereas it is low if dense areas get separated to a lesser extend.\n", "- In other words, a low order feature of factor E partitions the participants such that on average two similar (i.e. small Hamming distance) participants are more likely to be in the same part of the bipartition. Conversely, a factor O or factor C feature of high order has a stronger tendency to separate two similar participants.\n", "\n", "The order of the features will have a recognisable impact on how the tangles in the TOT look like. We will address this effect later." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2 Search tangles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the `order_function()` that we just defined to specify the order of the features, let's search for tangles.\n", "Note that we set the uncross parameter to True: this will add features that are logical combinations of the original features, called _corners_. These are necessary to be able to compute a TOT.\n", "We call the process of adding corners _uncrossing_." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.543092Z", "start_time": "2024-04-25T13:55:42.590630Z" }, "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "creating features... finished \n", "[ tree height=278, number of tangles=6, limit=498.0 ]: appending finished \n" ] } ], "source": [ "agreement = 500\n", "tangles = SurveyTangles.search(survey, agreement, feature_factory=feature_factory, order=order_function, uncross=True)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.550065Z", "start_time": "2024-04-25T13:55:48.542099Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of features in the search result: 758\n" ] } ], "source": [ "print(f'Total number of features in the search result: {len(tangles.feature_system)}')" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.656103Z", "start_time": "2024-04-25T13:55:48.547732Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_tangle_matrix(tangles.tangle_matrix(False, False, False), 'Tangle Matrix (only Original Features)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us address a property of the tangle matrix that might seem odd: \n", "The tangles in the upper part of the tangle matrix do not specify any of the original separations. However, this is not a problem, since uncrossing added features that are corners of the original features (and of previously added corners), i.e. they are logical combinations of the original features. The tangles in the upper part of the tangle matrix specify many of those corners, so these tangle nonetheless contain information about the statements corresponding to the original features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.3 Plot a tree of tangles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we calculate the tree of tangles." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.724140Z", "start_time": "2024-04-25T13:55:48.667575Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tot = tangles.sweep.create_tot(agreement)\n", "\n", "from tangles.util.tree import plot_tree\n", "fig, ax = plt.subplots(figsize=(3,3))\n", "plot_tree(tot.nodes[0], ax=ax);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This was simple - but unfortunately there is not too much to make of it: it shows the overall structure, but we need more information about the tangles. Each node of the tree is a tangle, so we need to define a plot that visualises each of these tangles. In the above plot every node can then be replaced with this visualisation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How to best visualize a tangle differs from application to application. In our case, we want the plot to show how much a tangle represents each of the five factors. More precisely, to each tangle we want to assign five values that indicate how the tangle relates to the five factors. We call this five values _factor weights_.\n", "\n", "Given a tangle, to calculate its factor weights we will\n", "1. calculate factor weights for each participant;\n", "2. for all participants, calculate the tangle score with respect to the given tangle;\n", "3. calculate the factor weights of the tangle, which we define as a score-weighted sum of the factor weights of all participants. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__1. Factor weights for each participant__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We go with a simple approach: given a participants ratings to the 10 statements of a factor, the factor weight for this factor is the mean value of the ratings." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.728883Z", "start_time": "2024-04-25T13:55:48.684463Z" } }, "outputs": [], "source": [ "def calc_factor_weights_per_participant(features):\n", " return features @ np.kron(np.eye(5,dtype=int), np.ones((1,10))).T\n", "\n", "factor_weights_per_participant = calc_factor_weights_per_participant(features)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2. Tangle scores__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a tangle, the score is a measure of how much a participant is 'contained' within the tangle. There are different scoring algorithms implemented in the tangle library. We use the `soft_clustering_tuebingen` algorithm as it turns out to deliver good results for this use case." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.872244Z", "start_time": "2024-04-25T13:55:48.696559Z" } }, "outputs": [], "source": [ "from tangles.analysis import soft_clustering_tuebingen\n", "\n", "tangle_matrix = tangles.sweep.tangle_matrix(only_initial_seps=False)\n", "scores = soft_clustering_tuebingen(tangle_matrix, tangles.sweep.tree._sep_ids[:tangle_matrix.shape[1]], tangles.feature_system)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3. Factor weights of a tangle__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, given a tangle we can calculate its factor weights as a score-weighted sum of all participants factor weights." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.876095Z", "start_time": "2024-04-25T13:55:48.711053Z" } }, "outputs": [], "source": [ "from src.radar_plot_util import soft_max\n", "\n", "def calc_factor_weights_by_score_weighted_participants(scores, factor_weights_per_participant, tangle_idx, soft_max_scaling):\n", " soft_maxed_scores = soft_max(scores[:,tangle_idx], scaling=soft_max_scaling)\n", " return np.sum(factor_weights_per_participant * soft_maxed_scores[:,np.newaxis], axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Plotting factor weights__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What's left to implement is how to plot the factor weights of a tangle." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:48.908778Z", "start_time": "2024-04-25T13:55:48.721088Z" } }, "outputs": [], "source": [ "from src.radar_plot_util import create_factor_weights_radar_plot\n", "\n", "def plot_factor_weights_by_score_weighted_participants(node, ax, sweep, scores, factor_weights_per_participant, soft_max_scaling=10):\n", " factor_weights = calc_factor_weights_by_score_weighted_participants(scores, factor_weights_per_participant, node.tangle_idx, soft_max_scaling)\n", " # use the location size as plot title\n", " if len(node.star[0]) != 0:\n", " location_size = np.sum(sweep.sep_sys.compute_infimum(*node.star) == 1)\n", " else:\n", " location_size = ''\n", " create_factor_weights_radar_plot(ax, factor_weights, title=f'{location_size}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the bigger part of the code that is responsible for the plotting of the factor weights is hidden in the imports. This is mostly matplotlib setup and not interesting when getting to know tangles so we do not recommend to dig into this code." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.349561Z", "start_time": "2024-04-25T13:55:48.725789Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAALdCAYAAAAYvv+1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC4x0lEQVR4nOzdd3xV9f3H8fe92XsPAoSEhCw2yJCNDJkyxb0XrtZZbW2ttlr70w5HVVxVq6goYYNMFZmKsklCyGATCEkge97z+4OSEtlZ5yZ5PR8PH23OPfd73peb3ORzvstiGIYhAAAAAACaKKvZAQAAAAAAqAsKWwAAAABAk0ZhCwAAAABo0ihsAQAAAABNGoUtAAAAAKBJo7AFAAAAADRpFLYAAAAAgCaNwhYAAAAA0KRR2AIAAAAAmjQKWwDNmsViuaT/vvvuO7OjXpJVq1bpiiuukIeHhywWi+bNm3fWOUOGDLmk1/zcc881en5J+uijj2SxWLR3795Gv/af/vQnJSQkyGazSZL27t0ri8Wiv/3tbw1yvW+++UZ33nmn4uLi5OHhodatW2vChAn6+eefG+R6qJ3169frueee04kTJ+qtzfP9HI4aNeqscysqKvT8888rIiJCLi4uiouL0xtvvHHOdjMyMjR58mT5+vrK09NTI0aM0ObNm2uck5eXJ19f33N+PgBAc+VodgAAaEgbNmyo8fWf//xnffvtt/rmm29qHE9ISGjMWLViGIamTZummJgYLViwQB4eHoqNjT3rvLfeekv5+fnVXy9evFgvvPCCPvzwQ8XFxVUfb9OmTaPktheHDx/Wyy+/rI8++khWa+Pc13377beVk5OjX//610pISFB2drb+/ve/q2/fvlq2bJmuuuqqRsmBC1u/fr2ef/553X777fL19a23dtu3b6+ZM2fWOHau9h944AF98skn+vOf/6xevXpp2bJl+vWvf62CggL97ne/qz4vOztbAwcOlJ+fn/7973/L1dVVL730koYMGaJNmzZVfx74+fnp0Ucf1ZNPPqkxY8bI2dm53l4TANgrClsAzVrfvn1rfB0UFCSr1XrW8V8qLi6Wu7t7Q0a7bIcPH1Zubq4mTZqkYcOGnfe8XxbpKSkpkqROnTrpiiuuaNCM9uy1116Tr6+vJk+e3GjXfPPNNxUcHFzj2KhRoxQdHa2//OUvdl3Y2uPPQFPj5uZ20c+aXbt26YMPPtCLL76oJ598UtKp3t6cnBy98MILmj59uvz9/SVJr7zyirKzs7V+/Xq1a9dOkjRgwABFRUXp2Wef1axZs6rbnT59ul544QXNnj1bN954YwO9QgCwHwxFBtDiDRkyRJ06ddL333+vfv36yd3dXXfeeackKT8/X0888YQiIyPl7Oys1q1b65FHHlFRUVGNNgzD0FtvvaVu3brJzc1Nfn5+mjp1qjIyMi4pw9q1azVs2DB5eXnJ3d1d/fr10+LFi6sff+6556p7WJ966ilZLBZFRETU+jWvWLFCEyZMUJs2beTq6qro6Gjdd999On78eI3znnvuOVksFu3atUs33HCDfHx8FBISojvvvFMnT56sce6JEyd01113yd/fX56enho7dqwyMjIuedjzypUrNWzYMHl7e8vd3V39+/fXqlWrapyTnZ2te++9V23btpWLi4uCgoLUv39/rVy58oJtl5eX64MPPtCNN9540d7aiooK3XbbbfL09NSiRYsumvtCflnUSpKnp6cSEhJ04MCBWrVZWlqqxx9/XN26dZOPj4/8/f115ZVXav78+Wede6nvyen3efPmzZo6dar8/PwUFRUl6fK+ty/lPTx9re3bt+vaa6+tfg2PPfaYKisrtXv3bo0aNUpeXl6KiIjQyy+/fNZ1LvXn0mKx6KGHHtInn3yi+Ph4ubu7q2vXrjXe1+eee666oIyMjGz06Qnz5s2TYRi64447ahy/4447VFJSoqVLl1Yfmzt3rq666qrqolaSvL29NXnyZC1cuFCVlZXVx0NCQjRixAjNmDGj4V8EANgBClsAkHTkyBHdfPPNuvHGG7VkyRI98MADKi4u1uDBg/Xxxx/rV7/6lb7++ms99dRT+uijj3TNNdfIMIzq599333165JFHNHz4cM2bN09vvfWWdu3apX79+uno0aMXvPbq1at11VVX6eTJk/rggw/0+eefy8vLS+PHj6/ugbn77rs1Z84cSdLDDz+sDRs2aO7cubV+venp6bryyiv19ttva/ny5Xr22Wf1ww8/aMCAAaqoqDjr/ClTpigmJkaJiYl6+umn9dlnn+nRRx+tftxms2n8+PH67LPP9NRTT2nu3Lnq06fPOecTnsunn36qkSNHytvbWx9//LG+/PJL+fv76+qrr65RGN1yyy2aN2+enn32WS1fvlzvv/++hg8frpycnAu2/8MPPygnJ0dDhw694HknTpzQ1VdfreXLl2v16tUaN25c9WOVlZWX9N+Z3xfncvLkSW3evFkdO3a8hH+Zs5WVlSk3N1dPPPGE5s2bp88//1wDBgzQ5MmT9Z///Kf6vNq8J5MnT1Z0dLS++uqr6oLoUr+3L/U9PG3atGnq2rWrEhMTdc899+if//ynHn30UU2cOFFjx46tLuKeeuqp6u99SZf1cymdGor/r3/9S3/605+UmJgof39/TZo0qbowv/vuu/Xwww9LkubMmaMNGzZow4YN6tGjR/W/46W871VVVWe9xvT0dPn7+8vR0VFRUVF65plnVFJSUuOcnTt3KigoSKGhoTWOd+nSpfpxSSopKVF6enr18V+eW1JSctbNhiFDhmjdunX1OncYAOyWAQAtyG233WZ4eHjUODZ48GBDkrFq1aoax1966SXDarUamzZtqnF89uzZhiRjyZIlhmEYxoYNGwxJxt///vca5x04cMBwc3MzfvOb31wwU9++fY3g4GCjoKCg+lhlZaXRqVMno02bNobNZjMMwzAyMzMNScYrr7xyWa/5ww8/NCSd9TpOs9lsRkVFhbFv3z5DkjF//vzqx/74xz8akoyXX365xnMeeOABw9XVtTrb4sWLDUnG22+/XeO8l156yZBk/PGPfzwrT2ZmpmEYhlFUVGT4+/sb48ePr/Hcqqoqo2vXrkbv3r2rj3l6ehqPPPLIZb1+wzCM//u//zMkGVlZWTWOn/lvmpmZaSQkJBgJCQnG3r17z3nepfz37bffXjDLTTfdZDg6Oho//fTTZb+Oc6msrDQqKiqMu+66y+jevXv18ct5T06/z88++2yNcy/1e/ty3sPT1/plm926dTMkGXPmzKk+VlFRYQQFBRmTJ0+ukf9Sfi4NwzAkGSEhIUZ+fn71saysLMNqtRovvfRS9bFXXnmlxvfkmW677bZLet8HDx5c43nPPPOM8dZbbxnffPONsXjxYuOhhx4yHB0djUGDBhlVVVXV540YMcKIjY0967qGYRjOzs7GvffeaxiGYRw6dMiQVCP3aZ999pkhyVi/fn2N4ytWrDAkGV9//fU52weA5oQ5tgCgU4ut/HK+46JFi9SpUyd169atxhC/q6++unqo4ujRo7Vo0SJZLBbdfPPNNc4LDQ1V165dLziksaioSD/88IPuv/9+eXp6Vh93cHDQLbfcoqeeekq7d++usehTfTh27JieffZZLV68WIcPH65eJViSkpOTdc0119Q4/5dfd+nSRaWlpTp27JhCQkK0evVqSad64c50ww036Le//e0Fs6xfv165ubm67bbbavz7Safmo7788ssqKiqSh4eHevfurY8++kgBAQEaPny4evbsKScnp4u+3sOHD8tisSgwMPCcj2/evFl/+9vflJCQoDlz5py1wE9YWJg2bdp00etIOueCXqf94Q9/0MyZM/XGG2+oZ8+el9TeuXz11Vd69dVXtW3bthrDb11dXav/f23ekylTptT4+lK/ty/nPTztzN5wSYqPj9e2bds0evTo6mOOjo6Kjo7Wvn37amS6lJ/L04YOHSovL6/qr0NCQhQcHFyjzQt57rnn9NBDD130vDOvIUkvvPBCja/HjBmjiIgIPfHEE5o/f74mTZpU/ZjFYjlvu7987HLOPT0U/tChQxcODwDNAIUtAEhq1arVWceOHj2qtLS08xZOp+ejHj16VIZhKCQk5JzntW/f/rzXzcvLk2EY57x+WFiYJF10mO3lstlsGjlypA4fPqw//OEP6ty5szw8PGSz2dS3b9+zhkpKUkBAQI2vXVxcJKn63JycHDk6OlYvcnPa+f5NznR6OOvUqVPPe05ubq48PDw0a9YsvfDCC3r//ff1hz/8QZ6enpo0aZJefvnls4ZynqmkpEROTk5ycHA45+MrVqzQ8ePH9Y9//OOcq9Y6OzurW7duF30tks57jeeff14vvPCCXnzxxUsqlM5nzpw5mjZtmq699lo9+eSTCg0NlaOjo95++239+9//rj6vNu/JL78PL/V7+3Lew9N+mcvZ2Vnu7u41ivPTx89c5ftSfy5P++X3rnTq+/dc3+fnEh4efkkriF+o4Dzt5ptv1hNPPKGNGzdWF7YBAQHaunXrWecWFRWpvLy8+t/Jz89PFovlnJ8Hubm5ks7+Nz39b3mprxUAmjIKWwDQuf8oDQwMlJubW41i4ZePn/5fi8WiNWvWVBd8ZzrXsdP8/PxktVp15MiRsx47fPhwjevUl507d2rbtm366KOPdNttt1UfT0tLq3WbAQEBqqysVG5ubo0/rrOysi763NOv74033jjvCrKnC6vAwEC9+uqrevXVV7V//34tWLBATz/9tI4dO1ZjkZ1zXaO8vPysXsPTnnzySaWnp+vWW29VZWWlbr311hqP7927V5GRkRd9LZL07bffasiQITWOPf/883ruuef03HPP1di+pTY+/fRTRUZGatasWTW+b8vKymqcV5v35Jc/B5f6vX0572FdXerPZX2588479fHHH1/0vMGDB1/yglNnLmDWuXNnffHFF8rKyqpxc2bHjh2STq1mLp1aYTk6Orr6+Jl27NghNze3s26inS546/vfBADsEYUtAJzHuHHj9Je//EUBAQEXLGrGjRunv/71rzp06NBZwz4vxsPDQ3369NGcOXP0t7/9TW5ubpJO9ap++umnatOmjWJiYur0On7pdPHyy0LlnXfeqXWbgwcP1ssvv6xZs2bp/vvvrz7+xRdfXPS5/fv3l6+vr5KSki6rJzM8PFwPPfSQVq1apXXr1l3w3NNDuc+3+I7VatU777wjT09P3X777SoqKqrxOuoyFPnPf/6znnvuOf3+97/XH//4x0tq40IsFoucnZ1rFKFZWVlnrYpcl/fktEv93q7te1gbl/pzeTl+OQLhTLUdinwupwvkM4v/CRMm6Pe//70+/vhjPfXUU9XHP/roI7m5udVY7GvSpEl69dVXdeDAAbVt21aSVFBQoDlz5uiaa66Ro2PNP+tOLybVFPbpBoC6orAFgPN45JFHlJiYqEGDBunRRx9Vly5dZLPZtH//fi1fvlyPP/64+vTpo/79++vee+/VHXfcoZ9++kmDBg2Sh4eHjhw5orVr16pz5841CotfeumllzRixAgNHTpUTzzxhJydnfXWW29p586d+vzzzy9piOPliIuLU1RUlJ5++mkZhiF/f38tXLhQK1asqHWbo0aNUv/+/fX4448rPz9fPXv21IYNG6pX6b3QFjuenp564403dNtttyk3N1dTp05VcHCwsrOztW3bNmVnZ+vtt9/WyZMnNXToUN14442Ki4uTl5eXNm3apKVLl150b9rTPagbN248Z2F72t///nd5eXnpgQceUGFhYfU2MM7OzrXaA/jvf/+7nn32WY0aNUpjx47Vxo0bazx+ZoHz0Ucf6Y477tCHH36o22+//bxtjhs3TnPmzNEDDzygqVOn6sCBA/rzn/+sVq1aac+ePdXn1eU9Oe1Sv7cv9T2sD5f6c3k5OnfuLOnUXse33XabnJycFBsbW73l0OVurbVmzRq9+OKLmjRpktq3b6/S0lJ9/fXXevfdd3XVVVdp/Pjx1ed27NhRd911l/74xz/KwcFBvXr10vLly/Xuu+/qhRdeqNHb/sQTT+iTTz7R2LFj9ac//UkuLi7661//qtLS0nNuqbVx40YFBARUvz4AaNbMXbsKABrX+VZF7tix4znPLywsNH7/+98bsbGxhrOzs+Hj42N07tzZePTRR89aYfff//630adPH8PDw8Nwc3MzoqKijFtvvfWSVr9ds2aNcdVVV1U/t2/fvsbChQtrnFOfqyInJSUZI0aMMLy8vAw/Pz/j2muvNfbv33/e1XKzs7PP2eaZq8jm5uYad9xxh+Hr62u4u7sbI0aMMDZu3GhIMl577bULPtcwDGP16tXG2LFjDX9/f8PJyclo3bq1MXbsWOOrr74yDMMwSktLjenTpxtdunQxvL29DTc3NyM2Ntb44x//aBQVFV3032HgwIHGmDFjahw737/p6VVyf7lK8OU6veL2+f470xtvvGFIMpYuXXrRdv/6178aERERhouLixEfH2+899571e/VmS71PTnf+3zapX5vX+w9vNC1zvWzefrf8Jc/n5f6cynJePDBB89qs127dsZtt91W49hvf/tbIywszLBarZe0uvWF7NmzxxgzZozRunVrw8XFxXB1dTU6d+5svPjii0ZpaelZ55eXlxt//OMfjfDwcMPZ2dmIiYkxXn/99XO2nZaWZkycONHw9vY23N3djWHDhhk///zzWefZbDajXbt2xsMPP1zr1wEATYnFMC6y4R4AALX02Wef6aabbtK6devUr18/U7MkJibquuuu0759+9S6dWtTs5zLtGnTlJmZeclDnmvLnt4TNJxVq1Zp5MiR2rVrV72vqg4A9ojCFgBQLz7//HMdOnRInTt3ltVq1caNG/XKK6+oe/fu1VvPmMkwDPXr1089e/bUv/71L7Pj1GD8d+XhTz/9VCNHjqy3du39PUHDGTp0qKKjo/Xee++ZHQUAGgVzbAEA9cLLy0tffPGFXnjhBRUVFalVq1a6/fbbz9rP0ywWi0XvvfeeFixYIJvNdklzTBuLxWLRsWPH6r1de39P0DDy8vI0ePBgPfDAA2ZHAYBGQ48tAAAAAKBJs5/b1QAAAAAA1AKFLQAAAACgSaOwBQAAAAA0aSweBQAAcA4VFRV68803lZCQoJEjR2r79u1au3atJKlr167q379/jfO//PJLnThxQvfe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R2ELAACaHMMwtHnzZi1btkx9+vTRkCFDWtTc04KCAs2dO1cnT57UlClTFBYWZnYkADAVhS0AAGhSSkpKtGjRIu3fv1+TJk1S+/btTcmxfv3ftGLFk7r77h/VunWvRr++zWbT+vXr9f3332vIkCG68sorm+TqzwBQHyhsAQBAk7F//37NmTNHwcHBmjBhgmn7u27fPlNz594sSXJ19dNTT+WakkOSDh48qMTERAUEBGjixIny9PQ0LQsAmIXCFgAA2D2bzaY1a9Zo3bp1GjZsmHr37m1K72RZWYGWLHlQ27d/Un1s0KBnNXTo842e5UylpaVavHixMjMzNXHiREVHR5uaBwAam6PZAQAAAC7k5MmTmjt3rgoLC3XnnXcqNDTUlByHD/+kxMQblJubJski6VTfgI9PW1PynMnV1VWTJ0/Wtm3b9NVXX6lnz54aNmxYi5p3DKBls5odAAAA4HySk5M1Y8YM+fv769577zWlqDUMm9av/7s++KCfcnPT5Orqp379nlBISNdGz3IhFotF3bp10z333KPMzEx98MEHysnJMTsWADQKemwBAIDdqaio0PLly7Vjxw6NHz9eHTt2NCVHYWGW5s27TenpyyVJoaE91KXLzXJ29qg+Zm8CAwN11113adWqVXr33Xc1ZswYde1qX0U4ANQ3ClsAAGBXjh07psTERDk7O2v69Ony9fU1JUda2jLNm3erioqOyWp1VseO1yo8fGCTWHnY0dFRV199tdq3b6958+YpIyNDY8aMYc9bAM0WQ5EBAIBdMAxDP/30k95//33FxsbqjjvuMKWoraoq1/LlT2jmzFEqKjomL6/WGjjwt2rXblCTKGrP1KFDB02fPl2FhYV65513dOjQIbMjAUCDoMcWAACYrqSkRAsXLtTBgwd1ww03KDIy0pQcOTl7lJh4g44c+VmS1K7dECUkTJGDg7MpeeqDl5eXbr75Zq1fv14fffSRhgwZon79+jW5Ih0ALoTCFgAAmGrfvn2aM2eOWrVqpenTp8vd3d2UHNu2/UeLFz+giooiOTl5qGvXWxUa2s2ULPXNYrGof//+ioiIUGJiojIyMjRx4kR5eXmZHQ0A6gVDkQEAgClsNpu+++47zZw5U/3799d1111nSlFbVpavOXNu1rx5t6miokj+/jEaNOgPzaaoPVPr1q113333ycPDQzNmzNCePXvM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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.radar_plot import radar_factory\n", "from src.radar_plot_util import node_sizes_by_location_sizes, efficient_distinguisher_tree_level_annotation\n", "\n", "# matplotlib setup: we need to register a new axes projection type\n", "radar_factory(5, frame='polygon')\n", "\n", "node_sizes = node_sizes_by_location_sizes(tangles.sweep, tot, (0.12, 0.12), lambda x : np.power(x,1/5))\n", "fig, ax = plt.subplots(figsize=(12,9))\n", "plot_tree(tot.nodes[0],\n", " ax=ax,\n", " plot_node=lambda node, ax: plot_factor_weights_by_score_weighted_participants(node, ax, tangles.sweep, scores, factor_weights_per_participant), \n", " node_size=node_sizes,\n", " ax_projection='radar',\n", " plot_edge_annotation=efficient_distinguisher_tree_level_annotation(tangles.sweep, tot))\n", "ax.set_title(f'Tree of Tangles (k={2}, agreement={agreement})');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A green triangle indicates a positive and a red triangle indicates a negative factor weight. The size of the triangle indicates the magnitude of the factor weight. Furthermore, the title of each node tells us the size of the _location_ of that tangle (i.e. the size of the intersection of all efficient distinguishers associated with the adjacent edges).\n", "\n", "The blue annotation at each edge shows the tree level at which the efficient distinguisher corresponding to the edge appears in the _tangle search tree_. The _tangle search tree_ contains the features of lowest order at its lowest levels, so a small tree level comes with a small feature order, and vice versa. Usually, we think of features at a smaller tree level (that is, of lower order) as features that split the set of participants by a more general criterion. Conversely, features at a higher tree level correspond to more specific criteria.\n", "\n", "The TOT gives an overview over all tangles found. There is a subtree that contains different facets of mindsets of (more or less) extroverted participants, while another subtree contains that of introverted participants." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Typical Ranges of Ratings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous sections we have defined one potential feature for each statement. For each participant, this gave us a true/false classification for each of the 50 statements. Now, we will follow a more fine-grained approach. For each statement $q$ we create not one but four potential features:\n", "- $s_1=\\{q \\geq 2\\}$\n", "- $s_2=\\{q \\geq 3\\}$\n", "- $s_3=\\{q \\geq 4\\}$\n", "- $s_4=\\{q \\geq 5\\}$\n", "\n", "Given a tangle that specifies a subset of these potential features we can derive an __interval of typical ratings__ of $q$. Let's have a look at an example. Assume a tangle contains $s_2$ and $s_{4}^C$. Participants that are in both $s_2$ and $s_{4}^C$ gave $q$ a rating of at least 3, but not 5 or higher, resulting in the rating interval $q \\in [3,4]$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.1 Features at thresholds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Analysing intervals of typical answers is a great way to do tangle analysis; not only for this survey, but for surveys containing ordinal variables in general.\n", "For that reason, users of the tangle library are provided with this functionality, and all what's left to do is to properly set up a `Survey` object!\n", "\n", "Given this `Survey` object, the tangle library is able to\n", "- automatically create the necessary features (features like $s_i$ above), and\n", "- automatically calculate typical intervals of values, given the tangle search results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We start fresh and load the data from file again. In this example, we limit ourselves to the __subset of N-factor (neuroticism) statements__. " ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.422708Z", "start_time": "2024-04-25T13:55:49.349178Z" } }, "outputs": [], "source": [ "X, var_names, var_labels, factors = load_big_five_data()\n", "X = remove_rows_with_zero_std(X)\n", "\n", "N_idxs = range(10,20)\n", "X_N = X[:,N_idxs]\n", "var_names_N = var_names[N_idxs]\n", "var_labels_N = var_labels[N_idxs]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's set up a `Survey` object containing the data of N statements." ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.425488Z", "start_time": "2024-04-25T13:55:49.416361Z" } }, "outputs": [], "source": [ "survey_N = Survey(pd.DataFrame(X[:,N_idxs], columns = var_names_N))\n", "survey_N.set_variable_labels(var_labels_N)\n", "survey_N.set_variable_types('ordinal')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to take care of the negatively keyed statements N2 and N4. Just like we did for the data in the previous section, we tag the name and the label of all negatively keyed variables with a \"¬\" and reverse the rating scale. This way, for negatively keyed statements, 1 to 5 becomes 5 to 1. The method `replace_variable_values()` is a convenient way to do this." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.462710Z", "start_time": "2024-04-25T13:55:49.424345Z" } }, "outputs": [], "source": [ "from src.utilities import keying_N\n", "\n", "keyed_var_names_N = np.asarray([l if neg==1 else f'¬{l}' for l, neg in zip(var_names_N, keying_N)])\n", "keyed_var_labels_N = np.asarray([s if neg==1 else f'¬{s}' for s, neg in zip(var_labels_N, keying_N)])\n", "\n", "survey_N.set_variable_names(keyed_var_names_N)\n", "survey_N.set_variable_labels(keyed_var_labels_N)\n", "survey_N.replace_variable_values(keyed_var_names_N[keying_N==-1], {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}, suppress_check_var_warning=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's complete the survey setup and check the `variable_info()`." ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.534873Z", "start_time": "2024-04-25T13:55:49.434009Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idnametypelabelvalid_valuesinvalid_valuesis_usablenum_valid_answersnum_unique_answers
N10N1ordinalI get stressed out easily.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
¬N21¬N2ordinal¬I am relaxed most of the time.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N32N3ordinalI worry about things.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
¬N43¬N4ordinal¬I seldom feel blue.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N54N5ordinalI am easily disturbed.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N65N6ordinalI get upset easily.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N76N7ordinalI change my mood a lot.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N87N8ordinalI have frequent mood swings.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N98N9ordinalI get irritated easily.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
N109N10ordinalI often feel blue.{1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}{}True193605
\n", "
" ], "text/plain": [ " id name type label \\\n", "N1 0 N1 ordinal I get stressed out easily. \n", "¬N2 1 ¬N2 ordinal ¬I am relaxed most of the time. \n", "N3 2 N3 ordinal I worry about things. \n", "¬N4 3 ¬N4 ordinal ¬I seldom feel blue. \n", "N5 4 N5 ordinal I am easily disturbed. \n", "N6 5 N6 ordinal I get upset easily. \n", "N7 6 N7 ordinal I change my mood a lot. \n", "N8 7 N8 ordinal I have frequent mood swings. \n", "N9 8 N9 ordinal I get irritated easily. \n", "N10 9 N10 ordinal I often feel blue. \n", "\n", " valid_values invalid_values is_usable \\\n", "N1 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "¬N2 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N3 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "¬N4 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N5 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N6 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N7 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N8 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N9 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "N10 {1: '1', 2: '2', 3: '3', 4: '4', 5: '5'} {} True \n", "\n", " num_valid_answers num_unique_answers \n", "N1 19360 5 \n", "¬N2 19360 5 \n", "N3 19360 5 \n", "¬N4 19360 5 \n", "N5 19360 5 \n", "N6 19360 5 \n", "N7 19360 5 \n", "N8 19360 5 \n", "N9 19360 5 \n", "N10 19360 5 " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "survey_N.guess_variable_value_lists(mark_added_labels=False)\n", "survey_N.variable_info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great, the survey is ready to go." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.2 Feature Order: Prefer Balanced Features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we define an order function. Our goal is to favour balanced features (that is, features that split the set of participants into two roughly equally sized subsets) over unbalanced features. Thus, balanced features should get a low order assigned to and unbalanced features should get a high order assigned to.\n", "\n", "To achieve this, we use the __negated discrete entropy__:\n", "- Given a feature, the discrete entropy is large if the feature is very balanced and it is small if the feature is very unbalanced.\n", "- However, we want balanced features to get a low order, so we negate the discrete entropy." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.561249Z", "start_time": "2024-04-25T13:55:49.460837Z" } }, "outputs": [], "source": [ "from tangles.util.entropy import entropy\n", "\n", "def order_function(features):\n", " return -entropy(features)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see that this choice for the order function makes sense, let's focus on the features $s_1, ..., s_4$ of a single statement. Specifying the most balanced features first, we decide if the interval is in the lower or in the upper range of the rating scale (w.r.t. the median of the ratings). Then, proceeding with less and less balanced features we gradually refine the interval.\n", "\n", "We plot the orders to get a feeling for how the intervals will get composed of the specified features." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.792333Z", "start_time": "2024-04-25T13:55:49.466166Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0YAAAD+CAYAAAAeVRWdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyqklEQVR4nO3de5xN9f7H8fdmmEnMiGkMYoaUmUKhIZRL5H5JuqCU/Lo4knNSKpWDbnQ55+jm6K6iE6V6VETK5eecCEV+IV3HLSMlM6QGM5/fH/3sn23GtIe1Z3/t9Xo+HvthZu213vsz67v2mvlYe60VMDMTAAAAAPhYuWgXAAAAAADRRmMEAAAAwPdojAAAAAD4Ho0RAAAAAN+jMQIAAADgezRGAAAAAHyPxggAAACA79EYAQAAAPA9GiMAAAAAvkdjBAA+MXXqVAUCgWIft956a0Rec926dRo3bpyys7Mjku+FzZs3a/jw4Tr11FOVkJCgk046Se3bt9f06dNlZsecP3jwYKWnpx97oQCAiIqLdgEAgLL1wgsvKCMjI2RarVq1IvJa69at0/jx49W+fXsnm4P//Oc/6tmzpypXrqxRo0apSZMmys3N1cyZM3XllVfqnXfe0SuvvKJy5fh/RACIdTRGAOAzjRo10jnnnBPtMo7J/v37FQgEFBd39L/Gdu3apYsvvlhJSUn6+OOPVaNGjeBzffr0UZMmTXTHHXfo7LPP1h133BHRWkrj119/1QknnFAmrwUAfsJ/gQEAQsyYMUOtWrXSiSeeqMqVK6tLly5atWpVyDwrV65U//79lZ6erhNOOEHp6ekaMGCANm7cGJxn6tSpuvTSSyVJHTp0CH5sb+rUqZKk9PR0DR48uMjrt2/fXu3btw9+v2jRIgUCAb388su65ZZbVLt2bcXHx+vrr7+WJH3wwQfq2LGjEhMTValSJbVp00YffvjhH/6czz77rH744QdNnDgxpCk66LbbblNGRoYefvhh7d+/P6xapk6dqoYNGyo+Pl6ZmZl66aWXin3tffv26b777lNGRobi4+N18skn65prrtGOHTtC5ktPT1fPnj31xhtvqGnTpkpISND48eMlSa+99ppatmyppKQkVapUSfXr19eQIUP+8OcGABSPxggAfKagoEAHDhwIeRz0wAMPaMCAATrjjDM0c+ZMvfzyy9q9e7fOP/98rVu3Ljhfdna2GjZsqEmTJmnevHl68MEHtW3bNmVlZenHH3+UJPXo0UMPPPCAJOnJJ5/U0qVLtXTpUvXo0eOo6h49erQ2bdqkKVOm6J133lFKSoqmTZumzp07KzExUS+++KJmzpypatWqqUuXLn/YHM2fP1/ly5dXr169in0+EAiod+/e2rlzpz755JM/rGXq1Km65pprlJmZqVmzZunuu+/WvffeqwULFoQsW1hYqD59+mjixIkaOHCgZs+erYkTJ2r+/Plq3769fv3115D5P/30U40aNUojRozQ3Llz1a9fPy1dulSXX3656tevr1dffVWzZ8/WX//615CxBACUkgEAfOGFF14wScU+9u/fb5s2bbK4uDi76aabQpbbvXu3paam2mWXXXbE7AMHDtiePXvsxBNPtEcffTQ4/bXXXjNJtnDhwiLLpKWl2dVXX11kert27axdu3bB7xcuXGiSrG3btiHz/fLLL1atWjXr1atXyPSCggI766yzrEWLFiWsDbOMjAxLTU0tcZ5//vOfJslmzJhRYi0FBQVWq1Yta9asmRUWFganZ2dnW4UKFSwtLS047V//+pdJslmzZoVkrFixwiTZ5MmTg9PS0tKsfPnytmHDhpB5H3nkEZNku3btKrF+AED4OGIEAD7z0ksvacWKFSGPuLg4zZs3TwcOHNBVV10VcjQpISFB7dq106JFi4IZe/bs0e23364GDRooLi5OcXFxqly5sn755RetX78+InX369cv5PuPPvpIO3fu1NVXXx1Sb2Fhobp27aoVK1bol19+OabXtP+7Kl0gECixlg0bNuj777/XwIEDQ+ZNS0tT69atQ+Z99913VbVqVfXq1Suk7rPPPlupqakh61mSmjRpotNPPz1kWlZWliTpsssu08yZM7V169Zj+jkBAFx8AQB8JzMzs9iLL2zfvl3S///RfbhDr8w2cOBAffjhhxozZoyysrKUmJioQCCg7t27F/komFdq1qxZbL2XXHLJEZfZuXOnTjzxxGKfq1u3rr766iv98ssvR5zn4GXG69SpU2ItP/30kyQpNTW1SEZqamrI5cq3b9+uXbt2qWLFisW+5sGPIh7ptSSpbdu2euutt/TYY4/pqquuUn5+vs4880zdddddGjBgQLG5AICS0RgBACRJycnJkqTXX39daWlpR5wvNzdX7777rsaOHRtytbb8/Hzt3Lkz7NdLSEhQfn5+kek//vhjsJZDHX7U5uA8jz/+uM4999xiX6O4iyocdOGFF+r999/XO++8o/79+xd53sz09ttvq1q1amrevHmJtVSvXl2SlJOTUyTn8GnJycmqXr265s6dW2xdVapUKfG1DurTp4/69Omj/Px8LVu2TBMmTNDAgQOVnp6uVq1aFbsMAODIaIwAAJKkLl26KC4uTt98802Rj4odKhAIyMwUHx8fMv3ZZ59VQUFByLSD8xR3FCk9PV1r1qwJmfbll19qw4YNxTZGh2vTpo2qVq2qdevWafjw4X84/+GuvfZaPfzwwxo9erQuuOACpaSkhDz/0EMP6YsvvtDEiRNVoUKFErMaNmyomjVr6l//+pdGjhwZbGY2btyojz76KOQ+UT179tSrr76qgoICtWzZstR1Hy4+Pl7t2rVT1apVNW/ePK1atYrGCACOAo0RAEDS743KPffco7vuukvffvutunbtqpNOOknbt2/X8uXLdeKJJ2r8+PFKTExU27Zt9fDDDys5OVnp6elavHixnnvuOVWtWjUks1GjRpKkp59+WlWqVFFCQoLq1aun6tWra9CgQbryyis1bNgw9evXTxs3btRDDz2kk08+Oax6K1eurMcff1xXX321du7cqUsuuUQpKSnasWOHPvvsM+3YsUP//Oc/j7h81apV9cYbb6hnz55q3ry5Ro0apbPOOkt5eXmaMWOGpk+frssvv1yjRo36w1rKlSune++9V9dee6369u2r6667Trt27dK4ceOKfLyuf//+mj59urp3764///nPatGihSpUqKAtW7Zo4cKF6tOnj/r27Vvi6/31r3/Vli1b1LFjR51yyinatWuXHn30UVWoUEHt2rULa/0BAA4T5Ys/AADKyMGr0q1YsaLE+d566y3r0KGDJSYmWnx8vKWlpdkll1xiH3zwQXCeLVu2WL9+/eykk06yKlWqWNeuXe3zzz8v9kpzkyZNsnr16ln58uVNkr3wwgtmZlZYWGgPPfSQ1a9f3xISEuycc86xBQsWHPGqdK+99lqx9S5evNh69Ohh1apVswoVKljt2rWtR48eR5z/cJs2bbIbb7zR6tevbxUrVrSkpCRr27atTZs2LeQKc+HU8uyzz9ppp51mFStWtNNPP92ef/55u/rqq0OuSmdmtn//fnvkkUfsrLPOsoSEBKtcubJlZGTYDTfcYF999VVwvrS0NOvRo0eR13n33XetW7duVrt2batYsaKlpKRY9+7dbcmSJWH9zACAogJm/3fJHQAAAADwKS7XDQAAAMD3aIwAAAAA+B6NEQAAAADfi3hjNHnyZNWrV08JCQlq3ry5lixZUuL8ixcvVvPmzZWQkKD69etrypQpkS4RAAAAgM9FtDGaMWOG/vKXv+iuu+7SqlWrdP7556tbt27atGlTsfN/99136t69u84//3ytWrVKd955p0aMGKFZs2ZFskwAAAAAPhfRq9K1bNlSzZo1C7mPRGZmpi666CJNmDChyPy333673n77ba1fvz44bejQofrss8+0dOnSSJUJAAAAwOcidoPXffv26ZNPPtEdd9wRMr1z58766KOPil1m6dKl6ty5c8i0Ll266LnnntP+/fuLvfN4fn6+8vPzg98XFhZq586dql69evDO4wAAAAD8x8y0e/du1apVS+XKlfxhuYg1Rj/++KMKCgpUo0aNkOk1atRQTk5Oscvk5OQUO/+BAwf0448/qmbNmkWWmTBhgsaPH+9d4QAAAABiyubNm3XKKaeUOE/EGqODDj9qY2YlHskpbv7iph80evRojRw5Mvh9bm6u6tatq82bNysxMfFoy/ZUo7Hzjmq5z8d3OeYMr3IOzfAyp7iPVIZj9OjRnma4luPaOLm0Dbs0Tl7leFVLLIx3LO5rvMqJ1DYci+PtRU4sjrdXP5NL4+RVjkv7Gq9yXNuGoyUvL0916tRRlSpV/nDeiDVGycnJKl++fJGjQz/88EORo0IHpaamFjt/XFycqlevXuwy8fHxio+PLzI9MTHRmcaoXHylo1ru0PqPNsOrnMPXpVc5CQkJx5zjRYZrOa6Nk0vbsEvj5FWOV7XEwnjH4r7Gq5xIbcOxON5e5MTieHv1M7k0Tl7luLSv8SrHtW042sI5xSZiV6WrWLGimjdvrvnz54dMnz9/vlq3bl3sMq1atSoy//vvv69zzjmn2POLAAAAAMALEb1c98iRI/Xss8/q+eef1/r163XzzTdr06ZNGjp0qKTfD7FdddVVwfmHDh2qjRs3auTIkVq/fr2ef/55Pffcc7r11lsjWSYAAAAAn4voOUaXX365fvrpJ91zzz3atm2bGjVqpDlz5igtLU2StG3btpB7GtWrV09z5szRzTffrCeffFK1atXSY489pn79+kWy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jx9/zBl79+7VqlWrtHv37mPO8oIX24wU3e3Gi21GYrspjVjYbiIlFvbDkcA2c2SsmyOL5XVzLD/bgQMHtGrVKuXm5h5zHc8999wxZ3g1Ts4wlJmNGzda586d7bTTTrNbbrnFfv311+Bz5557btg5q1evtmbNmllWVpatW7fOunfvbieccILVqVPHPvvss7Ay1q5dW+Rxyimn2Lp162zt2rVh1zJz5szg1zt27LDu3btbYmKitWvXzjZu3Bh2zoIFC+ykk06ypKQka9asmX311VfB55o2bRpWxowZMywxMdGqVq1qM2fOtMaNG1vXrl0tNTXVZs2aFXYtTz75ZJFHcnJy8Otw3XbbbcGvV69ebTVr1rSGDRvaySefbIsXLw47x4vtxottxsyt7caLbcYsNrcbl/Y1Zt5sN17ta1xaNy69n8zY15SEdVM8l95PZm7ta1avXm2nn366JSQk2MUXX2w7duwIPlea31EffvihJScnW0pKii1evNiysrIsIyPDqlevbosWLQo7Z/bs2UUeqampwa/DMWnSpODX3377rZ1xxhmWkJBg6enptmbNmrBrcRmNURnq1q2bPfHEE7Zy5Uq76qqrrHXr1paXl2dmZmeffXbYOW3btrW33nrLpk6danXr1rWXXnrJzMzeeOMNu/DCC8PKCAQClp6eHvKIi4uz9PR0q1evXti1HPrmvu666+z222+3bdu22d/+9je76KKLws5p2bKlffbZZ1ZYWGjPPvuspaWl2f/8z/+YWfjrpmnTpvb999/bF198YZUrVw6+Sb/++mvLysoKu5by5ctbr169bPDgwcFH5cqVbfDgwXbNNdeEnXPouunVq5e9+eabZma2dOlSa926ddg5Xmw3XmwzZm5tN15sMwdribXtxqV9jZk3241X+xqX1o1L7ycz9jUlYd0Uz6X3k5lb+5p27drZu+++az/++KPdfffdlpGRYVu2bDGz0q2bFi1a2OrVq23hwoVWvXp1+/DDD83M7OOPP7Y2bdqEnRMIBKx169bWvn374CMhIcHat29vHTp0CCvj0HXTv39/e+KJJ8zM7PXXX7dOnTqFXYvLaIzK0OH/Q3D//fdbVlaW7dq1q1T/e3DoG6pOnTohz5111llhZYwbN866detm2dnZwWnp6elh11BcLU2aNLEDBw6EfH80OWZmH3zwgaWlpdnq1avDXjeH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i1c5LtXiVY5LtbiW41ItXuW4VItXOV7VsnDhQjVt2lQnnnjiMf1OcCnHq1qcFO3OzI9GjBhhL7/8spmZ5eTkWGZmZtRyXKrFzKx///42b948MzPbu3evpaen24EDB8o8w8WcWBxvL3JcGyeXclwaJ69yXKrFqxyXavEqx6VaXMtxqRavclyqxascr2r5r//6L3vjjTfMzGzXrl126qmnHvc5XtXiIhqjMlZQUGDp6em2e/fu4LSOHTvaihUryjzHpVrMzPbs2WNpaWlWUFAQnDZgwACbPXt2mWa4mBOL4+1Fjmvj5FKOS+PkVY5LtXiV41ItXuW4VItrOS7V4lWOS7V4leNVLfn5+Va3bl3Lz88PTuvdu7ctWrTouM3xqhZX0RiVsV27dhX542b16tW2du3aMs9xqRaz38+p2L59e8i0vLw8y83NLdMMF3Nicby9yHFtnFzKcWmcvMpxqRavclyqxascl2pxLcelWrzKcakWr3K8qmXPnj22evXqkGmbNm2yTZs2Hbc5XtXiKq5KBwAAAMD3uPiCI959911ncqJVy6uvvqoHHnhAq1evDpk+YcKEMs1wMefzzz/X2rVrJUlfffWV/vGPf+jDDz8s8wwXcw7VuHHjY1o+VnM2b96sN998U19//XXM5BxtxqZNm/Tbb79J+v0GulOmTNGQIUP06KOPqqCgoExzXKpFkp544gnt2LEj7PkjleFiTn5+vqZMmRL8vfbSSy/pmmuu0d/+9jft37+/zDJczPnkk0/0l7/8RRdddJEuvfRSjR079qhuiOpSjle1zJ8/X0OGDFGnTp3UqVMnDRkyRO+///5xneNVLc6K5uEq/L86deo4kxONWu666y4777zzbPjw4ZaammqTJk0KPte0adMyy3Ax57HHHrO6deta7dq1bdKkSda0aVMbOnSonXbaaTZlypQyy3AtJysrq8gjPj4++HW4YjHnyiuvDH69cOFCS0lJsS5dulhqamrwhNnjLcerWs4888zgeQNjxoyxTp062eTJk61v37524403lmmOS7WYmSUkJFilSpWsb9++Nnv2bCssLAx7WS8zXMwZPHiwde3a1dq2bWtDhw61Dh062JNPPmm9evWy66+/vswyXMuZNGmSNWnSxG666SY7/fTT7U9/+pMNHTrUatasaf/+97/DrsWlHK9qGTNmjJ1zzjk2efJkmzNnjs2ePdsmT55s55xzjt19993HZY5XtbiMxqgMjRo1qtjHrbfeaomJiWWa41ItZmaNGzcOnsi3bds2y8rKsvvvv9/MzM4+++wyy3Axp0mTJrZ7927btm2bJSQk2MaNG83M7Icffgg7x4sM13IyMzPt2muvtcWLF9uiRYts4cKFlpqaaosWLSrVSaCxmHPoOuzYsaP95z//MTOzL7/80s4555ywa3Epx6tazjzzzODXzZo1s71795qZ2YEDB6xx48ZlmuNSLWa/r+OcnBx78MEHLSMjw2rXrm133nmnff3112Wa4WLOGWecYYWFhbZ3715LTEy0PXv2mNnv5wMeuv4jneFaTmZmZnC57du3W7du3czM7JNPPrGWLVuGXYtLOV7V0qBBg5ALFBz022+/leoqbi7leFWLy/goXRl67LHHlJCQoBNPPDHkUblyZQUCgTLNcakWSSosLFTFihUlSampqfrggw80e/Zs3XvvvWHneJHhYk65cuVUuXJlpaam6tRTT1XdunUlSSeffHLYOV5kuJazatUqJSUl6e9//7saNmyo9u3b64QTTlC7du3Url27sGuJxZxD1+FPP/2k1q1bS5JOO+00HThwIOxaXMrxqpZy5coFPxJTpUoVlS9fPji9rHNcqkX6fR3XqFFDt912m9avX68ZM2YoJydHzZo1U4cOHcosw8WcuLg4BQIBJSQkBH/nSVKFChVUrlx4f0p5keFaToUKFYLLnXzyydq2bZskqVmzZtq9e3fYtbiU41UtZqbCwsIi0wsLC2WlOL3fpRyvanFZXLQL8JPGjRvr0ksvLfZ8gWeffbZMc1yqRZIqV66s7OxspaenS5ISExM1b948denSJXgeSllkuJhz6DkC48ePD3lu3759ZZbhWk58fLweeeQRLVmyRL169dKNN94Y9uvHes7WrVt12223ycz0448/qqCgIPjHcmn+UHYpx6taxo4dqwsuuEC33HKL2rVrp379+qlfv36aN2+eunXrVqY5LtUiqcgfNm3atFGbNm306KOPaubMmWWW4WJO/fr1deutt2r37t0688wzdfPNN+uKK67QnDlzVKtWrTLLcC2nQYMGGj9+vHr06KFXXnlFzZo1k/T7e7I0vxNcyvGqlsGDBysrK0uDBw9WWlqaAoGAsrOz9eKLL+qaa645LnO8qsVpZX+Qyr9mz55tX331VbHPleajNl7kuFSLmdmCBQuKXP7R7PfLQh78+FlZZLiY8+STT1peXl6R6evXr7dhw4aVWYaLOQft2bPHhg0bZk2aNCn1srGYM27cuJDHwUt/b9myxa6++urjMserWszMVq1aZVdeeaU1a9bMGjdubL169bJXXnml1OefeJHjUi0jRowo1WtGKsPFnJ9++sluvvlmGzlypO3cudOeeuopa9SokfXp08eys7PLLMO1nO3bt9sVV1xhjRo1siFDhtjPP/8czH7vvffCrsWlHK9qMTNbvHix3XjjjdarVy/r1auX3XjjjUd1vx+XcryqxVVcrrsM/fd//3eJz7dt27bMclyqBSWLxfFmu4ks18aJbdj9WrzKcamWSOeYWfAjnke7bkqb4VrOwYxDlztUaWtxIcerWnB8ojEqQ1lZWUWmBQIBff/999q2bVvYl1X1IselWiTpnnvuOeJzgUBAY8aMKZMMF3Nicby9yHFtnFzKycrKUiAQCPkY0dGOkys5XtZyOPbD3uW4VIvXOS5tw67kuFSLaz9TSd5991317NkzpnK8qiXaOMeoDK1YsSLk+507d+q+++7TtGnTipxnEekcl2qRdMQTGmfNmqWNGzeG9cegFxku5sTieHuRU9z6NTO98cYbxzxOx3uOS+PkVY5LtXiV41ItXuW4VItrOS7V4lWOS7V4leNVLSUZNmyYJ02ESzle1RJ1ZfOJPRzq119/tQceeMBSUlLsz3/+s+3YsSNqOS7Vcqj58+db8+bNrVWrVrZkyZKoZbiUE4vj7eV248o4uZTj2jixDbtfi1c5LtXiWo5LtXiV41ItXuUca4Zrt0Vx6VYvLqMxKkMFBQX21FNP2SmnnGJXXHGFffvtt1HLcamWQ61atcouvPBCy8zMLNVNG73OcCknFsfby+3GlXFyKce1cWIbdr8Wr3JcqsW1HJdq8SrHpVq8yvGqlvj4eBszZkyRC8eMGzfOkpKSjsscr2pxGecYlaEzzjhD+fn5Gj9+fPDyj4c/X1Y5LtUiSdnZ2brrrru0ZMkS/fWvf9WQIUNKdT8GrzJczInF8fYix7VxcinHpXHyKselWrzKcakWr3JcqsW1HJdq8SrHpVq8yvGqlqysLD3//PPF3s6kTp062rx583GX41UtLqMxKkPp6enBK5wUd2Lft99+W2Y5LtUiSQkJCapdu7b+9Kc/qVKlSkWeHzZsWJlkuJgTi+PtRY5r4+RSjkvj5FWOS7V4leNSLV7luFSLazku1eJVjku1eJXjVS1z5szR6aefrgYNGhR5bvHixWHfsNulHK9qcRmNEZwwePDg4I7ocIFAQM8//3yZZLiYg+K5Nk6u5QAAoud4uOR8aXP8cKsNGiM4Z+vWrcG72teuXTtqGS7moHiujZNrOQCAsuXiJeePNcerWlzG5brhnDZt2qh+/fqqVq2aXn/99ahluJiD4rk2Tq7lAADKlkuXIPcqpywuZR5tNEZwzkknnaQFCxZEPcPFHBTPtXFyLQcAEB2//fab/vGPf2jSpEkaMGCA1q1bp+Tk5OM6x6taXFT6SyYBEXak8yvKOsPFHBTPtXFyLQcAULYKCwv19NNP67TTTtPatWu1bNkyTZo0qdQNhEs5XtXiMo4YAQAAAB5q1KiR8vPzNWHCBDVr1ky//vqr1q1bF3w+3Mt+u5TjVS0uozECAAAAPLR3714FAgGNGTPmmC777VKOV7W4jMYIAAAA8FB2dnbM5XhVi8s4xwjO8eJQrFeHc13LQfFcGyfXcgAAwB/jPkYAAAAAfI8jRgAAAAB8j8YIAAAAgO/RGAEAAADwPRojAAAAAL5HYwQAAADA92iMAAAAAPgejREAAAAA36MxAgAAAOB7/wtIt9k3UQDpRgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "features, metadata = SimpleSurveyFeatureFactory(survey_N).create_features()\n", "\n", "fig, ax = plt.subplots(figsize=(10,2))\n", "ax.bar(range(features.shape[1]), order_function(features), color=(['tab:blue']*4+['grey']*4)*features.shape[1])\n", "ax.set_title(f'Feature Orders')\n", "ax.set_xticks(range(features.shape[1]), [''.join(map(str, m)) for m in metadata], fontsize=8, rotation=90);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First specifying the features with the lowest order and then adding more and more features will narrow the intervals described by the tangle.\n", "\n", "Note that for most statements there exists a feature with relatively low order as well as a feature with relatively high order. Thus, when searching for tangles, the statements will get added in a \"mixed\" manner, narrowing the ten intervals roughly uniformly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.3 Interval tangles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's search for tangles and have a look at the tangle matrix." ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:49.984416Z", "start_time": "2024-04-25T13:55:49.791601Z" }, "collapsed": false, "editable": true, "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "" }, "tags": [ "remove_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "creating features... finished \n", "computing orders... finished \n", "[ tree height=40, number of tangles=15, limit=1487.0 ]: appending finished \n" ] } ], "source": [ "agreement = 1500\n", "tangles = SurveyTangles.search(survey_N, agreement, order=order_function)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:50.276500Z", "start_time": "2024-04-25T13:55:49.985450Z" } }, "outputs": [ { "data": { "image/png": "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V5bHHntMTp06VeC4R48elaioKHnppZdk+fLlMm3aNAkMDJRbb701Q+EtIvL888/LwYMH5d///rfMnDlTdu/eLd26dZOUlBTPPqNGjZJRo0ZJx44d5bPPPpNHHnlEBg0aJL/99luO+fz666/StGlT2b59u7z22mvy+eefS5cuXeSJJ56QcePGefabPHmy55SUZcuWyfz582XgwIE5ni9+8eJF+eabb6R169a56p+0P5XXr18/x3379esnTz75pDRt2lTmz58v8+bNk+7du3uda/t///d/8uyzz0q7du1kyZIl8s9//lOWL18uzZs3lxMnTnjFi4+Pl/79+8ugQYPks88+kxtuuEEGDBgg48ePl5EjR8ozzzwjn376qZQsWVJ69OghR48ezZBTz5495brrrpNPPvlExo4dK4sXL5YOHTpkep5tmtTUVLnrrrvkpZdekgceeECWLVsmL730kuc/WefPnxeRy4VLzZo1pUmTJrJu3TpZt26dLFq0SERE/vrrL2nVqpXMmTNHnnjiCfnyyy/l2WefldmzZ0v37t0zFLfR0dFy8OBB2b59e5Z5denSRdatWyciIvfcc4/nNUVEdu3aJc2bN5cdO3bIG2+8IQsXLpR69epJv379ZPLkyRlijRw5Ug4dOiQzZsyQpUuXSrly5bJ83QMHDsiQIUNkwYIFsnDhQs9pYv/85z+99uvfv7/ExsZK//795bPPPpO//e1v0rNnzyzn5IABAyQoKEg++OAD+eSTTyQoKEgmTZokvXv3lnr16smCBQvkgw8+kLNnz8odd9whv/76q+e5q1evlhYtWsiZM2dkxowZ8tlnn0njxo3lvvvuy7TYHTRokERERMi8efNk9OjRMnfuXBk8eLB06dJFGjVqJJ988ok8/PDD8tprr8nUqVM9z8vtXEizbds2eeqpp2T48OHy2WefScOGDWXgwIGyZs0azximHbGeNm2aZwy7dOmSZf/nVW7WyrR5dsMNN3htr1ixopQpU8ZrHm7fvl0aNmyY4XXStu3YscNY7kChUAC5cvz4cRURHTNmTKaPT5kyRadMmaJff/21fv311zpq1Ch1u91ap04dPXv2bK5fZ//+/Soi+sorr2S5T3Jysl68eFFr1aqlw4cP92xfvXq1ioh27tzZa/8FCxaoiOi6detUVfXUqVPqcrn0vvvu89pv3bp1KiLaqlWrDPnMmjXLs61Dhw5auXJlTUhI8Hr+Y489piEhIXrq1ClVVe3atas2btw4121P8+OPP6qI6Lx583Lc9/Dhw1q+fHm9+eabNSUlJdt916xZoyKio0aNynKfnTt3qojo0KFDM83p+eef92xr1aqViohu3LjRs+3kyZMaEBCgoaGheuTIEc/2rVu3qojoG2+84dk2ZswYFRGvMVRV/eijj1RE9MMPP/R6rfTj8vHHH6uI6Keffur13A0bNqiI6FtvveXZVr9+fa/npomJiVGn06kbNmzw2v7JJ5+oiOgXX3zhtX337t0qIjp9+vQMsa4kIvroo496bbv//vvV5XLpoUOHvLZ36tRJ3W63njlzRlX//zxu2bJljq+TmZSUFL106ZKOHz9eo6KiNDU1VVVVd+zYoSKizz77rNf+aX358MMPe7bNmjVLRUT79u3rte+hQ4c0MDBQH3/8ca/tZ8+e1QoVKmivXr082+rUqaNNmjTRS5cuee3btWtXrVixome+pr3WlTF79OihIqJTpkzx2t64cWO98cYbM+Sfm7lQrVo1DQkJ0YMHD3q2nT9/XiMjI3XIkCGebf/5z39URHT16tWaV6bWysGDB6vL5co0xvXXX6/t27f33A8KCvLKP80PP/ygIqJz587NczuAosQRdMCQ4cOHy/Dhw6Vdu3bSrl07mTBhgrz//vvyv//9T955550CxU5OTpZJkyZJvXr1JDg4WAIDAyU4OFh2794tO3fuzLB/9+7dve6nHUVKuxrK+vXrJSkpSXr16uW132233ZbjF8IuXLggK1eulJ49e4rb7Zbk5GTPrXPnznLhwgVZv369iFw+9WTbtm0ydOhQ+eqrryQxMTFX7U07ypzdEVMRkVOnTknnzp1FVWX+/PnidGa/pH355ZciIvLoo49muc/q1atFRDJ8ofKWW26RunXrZrgqRMWKFeWmm27y3I+MjJRy5cpJ48aNpVKlSp7tdevWFZH/PwbpPfjgg173e/XqJYGBgZ5cMvP5559LqVKlpFu3bl5j0LhxY6lQoYJ8++23WT43fYwGDRpI48aNvWJ06NBBHA5Hhhhp45Hf0wVWrVolbdq0kSpVqnht79evn/z111+eI+1p/va3v+Updtu2bSUiIkICAgI8X2w9efKk/PHHHyIi8t1334mIZJj399xzT5bntl+Zw1dffSXJycnSt29frz4L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PFcyevvtt6VTp07SoUMH6devn1xzzTVy6tQp2blzp2zevFn+85//5Ku9V8rLXMittCPOM2fOlLCwMAkJCZEaNWpk+1cd02tlZGSkjB49Wl544QWJjIz0/FDR2LFjZdCgQV7/URwwYIBMmzZN7r33XnnppZekXLly8tZbb8muXbvkm2++yVPbASsU8ZdUAetVq1ZNRSTT2/79+1X18lVRevbsqdWrV9fQ0FANDg7WWrVq6TPPPOO5MkVuZXYVl9OnT+vAgQO1XLly6na79fbbb9e1a9dmuLJH2tUv/vOf/2QaM/2VWFJTU3XChAlauXJlDQ4O1oYNG+rnn3+ujRo10p49e2b73LTtAwYM0GuuuUaDgoK0bNmy2rx5c50wYYJnn9dee02bN2+uZcqU0eDgYK1ataoOHDhQDxw4kGM/vPDCC1q6dGm9cOFChlyyuqW/CkdWUlJS9F//+pc2aNBAg4ODNSIiQps1a6ZLly712ufll1/W66+/XoOCgrRMmTL60EMPaVxcnFesVq1aaf369TO8RrVq1bRLly4ZtssVVzZJu4rLpk2btFu3blqyZEkNCwvT3r1767FjxzK81pVXYrl06ZK++uqr2qhRIw0JCdGSJUtqnTp1dMiQIbp7927PfgcOHND27dtrWFiYiohWq1bN89iff/6po0eP1tq1a3v644YbbtDhw4drfHy81+vdcccd2q1bt6w7N5u2pvnll1+0W7duGhERocHBwdqoUaMMcyureZyd9957T2vXrq0ul0tr1qypMTEx+u6773q9T1VVL1y4oCNGjNBy5cppSEiI3nbbbbpu3TqNiIjwuppO2pVVrrzCTZrFixdr69atNTw8XF0ul1arVk3vuece/eabb7z227Ztm/bq1UvLlSunQUFBWqFCBb3zzjt1xowZOb5W2vw4fvy41/aHH35YS5Qo4bUtt3Mhq7mZ2fyKjY3VGjVqaEBAQKZrwJV8tVa+/vrrev3113vWkDFjxujFixcz7BcfH699+/bVyMhIz9iuWLEi25wBWzlUs/nFCQBXlf3790udOnVkzJgxufq1SF86evSo1KhRQ95//3257777ijQXXxk7dqyMGzdOjh8/7pNz203au3ev1KpVS7766itp165dUadj1A8//CAtWrSQjz76SB544IGiTgcAOMUFuFpt27ZNPv74Y2nevLmEh4fLrl27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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tangle_matrix = tangles.tangle_matrix(False, False, False)\n", "plot_tangle_matrix(tangle_matrix, \n", " f'{tangle_matrix.shape[0]} Tangles ({np.sum(np.sum(np.abs(tangle_matrix), axis=1)==len(tangles.feature_system))} complete) for agreement {agreement}',\n", " [''.join(map(str, m[0].info)) for m in tangles.ordered_metadata()],\n", " ax = plt.subplots(figsize=(9,4))[1]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will not have a closer look the first eight tangles, as they are to unspecific and will not yield interesting intervals. Let's visualise the intervals of the remaining tangles." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "ExecuteTime": { "end_time": "2024-04-25T13:55:50.497522Z", "start_time": "2024-04-25T13:55:50.275685Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8gAAAFBCAYAAACrcoY7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABE7ElEQVR4nO3dd3xUVf7/8feQCSlAIqGFEmkKoUWQIh1EpKPYFhUREFQUVECUYgERCUVdVFYsICBIUaxYaH4F3V3YB12KgAhCEBJK3ISSxCRzf3/wy2yGJGQmmZyZhNfz8ZiHk8uZc8+858x1PnPv3GuzLMsSAAAAAABXuVK+HgAAAAAAAP6AAhkAAAAAAFEgAwAAAAAgiQIZAAAAAABJFMgAAAAAAEiiQAYAAAAAQBIFMgAAAAAAkiiQAQAAAACQRIEMAAAAAIAkCmQAfmDhwoWy2WzaunWrx4+9ePGiJk+erA0bNnh/YEXg999/l81m08KFC/Ns07lzZ9lstnxvkydPNjbu7LJer99//934uqdMmaKGDRvK4XDk2aZZs2aaMGGCJOnPP/9UqVKlcsyPEydOaPLkydq5c2cRjtZzGzZskM1m87v5XKtWrTznYXBwsK+Hh/9v6dKlmj17tlf7nD17tu68807Vrl1bNptNnTt3zrVd1nYht1t8fHyO9uvXr1ebNm0UGhqqihUravDgwTp16lSOdunp6XrppZdUq1YtBQUFKTo6Wm+99VaOdgMHDlS/fv0K+3QBQHZfDwAACuPixYt66aWXJCnPD27Fzdtvv63k5GTn3998842mTp2qBQsWKDo62rm8Ro0avhiez5w4cUIzZ87UwoULVapU7t/vpqamas+ePZo0aZIkafPmzbLZbGrevHmOvrI+dDdt2rSoh17sff7550pLS3NZduzYMfXv31933HGHj0aFyy1dulR79uzRqFGjvNbnO++8ozJlyqhLly5atWpVvu0v305JUoUKFVz+3rhxo3r27KnevXvryy+/1KlTpzRu3Djdcsst2rp1q4KCgpxtH3/8cS1evFgvv/yyWrZsqTVr1uipp57SuXPnNHHiRGe7yZMnKzo6Wv/3f/+nLl26FPJZA7iaUSADQC7S09Nls9lkt5vfTDZs2NDl7/3790uSGjdurBYtWhgfj7944403dM011+jOO+/Ms82OHTuUkZGhVq1aSbpUIDdo0EDlypUzNcwSqVmzZjmWrVmzRpI0bNgw08PxyMWLFxUaGurrYRRb+/btc34h1bhx43zbu7OdeuaZZ1SvXj2tXLnSuY2tXbu22rVrpw8++ECPPfaYJGnv3r2aP3++XnnlFT3zzDOSLn0RevbsWU2dOlXDhw9XRESEJKlu3brq0aOHpk+fToEMoFA4xBqAXxo8eLDKli2rQ4cOqVevXipbtqyioqL09NNPO/dk/f7776pUqZIk6aWXXnIezjd48GBnP7/++qvuv/9+Va5cWUFBQWrQoIH+8Y9/uKwr67DWxYsX6+mnn1b16tUVFBSkvXv3ymazaf78+TnG991338lms+mrr76SJB06dEhDhgzR9ddfr9DQUFWvXl19+/bV7t27iySfdevW6fbbb1eNGjUUHBys6667To8++qjOnDnj0m7y5Mmy2Wzau3ev7rvvPoWHh6tKlSp66KGHlJSU5NL2v//9r4YOHaqIiAiVLVtWvXv31uHDh90+nHv9+vW65ZZbFBYWptDQULVr107ff/+9S5vTp0/rkUceUVRUlIKCglSpUiW1a9dO69evv2Lff/31l+bPn6/7778/z73HkrRlyxbVqFFD1apVkyT95z//cRbLWTZs2KCWLVtKkoYMGZLjkPWtW7fq3nvvVa1atRQSEqJatWrpvvvu09GjR136yTqk9IcfftBjjz2mihUrqkKFCrrzzjt14sQJl7ZpaWl6+umnFRkZqdDQUHXs2FHbtm1TrVq1XOZrXrZu3arbbrtNERERCg4OVrNmzfTxxx+7tLl48aLGjh2r2rVrKzg4WBEREWrRooWWLVuWb/+esixLCxYsUJ06dQpcjHjyntm7d6+6deum0NBQVapUSSNGjNA333yT43D0zp07q3Hjxvrxxx/Vtm1bhYaG6qGHHpIkJScnO/MpXbq0qlevrlGjRunChQs5ntvbb7+tpk2bKiQkROXLl9fdd9+tw4cPu7TLWtemTZvUtm1b51xZsGCBpEtHftx4440KDQ1VkyZNtHr16hzPy5Pt07Jly/Tcc8+pWrVqCgsLU9euXXXgwAGX8XzzzTc6evSoy+HNhXWl91tB/PHHH9qyZYsGDhzo8gVk27ZtVa9ePX3++efOZV988YUsy9KQIUNc+hgyZIhSUlJyZDpw4ECtX79ev/32m1fHDODqwh5kAH4rPT1dt912m4YOHaqnn35aP/74o15++WWFh4frxRdfVNWqVbV69Wr16NFDQ4cOde7Jyiqa9+3bp7Zt2+raa6/Va6+9psjISK1Zs0ZPPvmkzpw54zwMN8uECRPUpk0bvfPOOypVqpSioqLUrFkzLViwQEOHDnVpu3DhQlWuXFm9evWSdOmQ3QoVKmj69OmqVKmSEhMTtWjRIt10003asWOH6tev79VsfvvtN7Vp00bDhg1TeHi4fv/9d73++utq3769du/ercDAQJf2d911l/r376+hQ4dq9+7dzt/ofvDBB5Ikh8Ohvn37auvWrZo8ebJuvPFGbdq0ST169HBrPEuWLNGDDz6o22+/XYsWLVJgYKDeffddde/eXWvWrNEtt9wi6dIH2O3bt+uVV15RvXr19N///lfbt2/X2bNnr9j/f/7zH509e1Y333xzjn+bPHmy8zD7LJcXBllFi2VZuvHGG7VgwQINGTJEzz//vHr37i3pf4es//7776pfv77uvfdeRURE6OTJk5o7d65atmypffv2qWLFii59Dxs2TL1799bSpUsVFxenZ555Rg888ID+7//+z9lmyJAhWrFihZ599ll16dJF+/bt0x133OFyKH1efvjhB/Xo0UM33XST3nnnHYWHh2v58uXq37+/Ll686Cywx4wZo8WLF2vq1Klq1qyZLly4oD179rhka1mWMjMz812npCsePbF+/XodPXpUU6dOLXAR5u575uTJk+rUqZPKlCmjuXPnqnLlylq2bJlGjhyZa78nT57UAw88oGeffVbTpk1TqVKldPHiRXXq1EnHjx/XxIkTFRMTo7179+rFF1/U7t27tX79eufzePTRR7Vw4UI9+eSTmjFjhhITEzVlyhS1bdtWu3btUpUqVZzrio+P15AhQ/Tss8+qRo0aeuutt/TQQw8pLi5OK1eu1MSJExUeHq4pU6aoX79+Onz4sPPLG0+3TxMnTlS7du00b948JScna9y4cerbt69++eUXBQQE6O2339Yjjzyi3377zaXIzJKZmSnLsvJ9XUqVKlWoorhPnz46ffq0wsPD1blzZ02ZMsVlz/OePXskSTExMTkeGxMTo3/9618ubStVqqTIyMgc7bL3laVz586yLEvffvutnnjiiQI/BwBXOQsAfGzBggWWJGvLli3OZYMGDbIkWR9//LFL2169eln169d3/n369GlLkjVp0qQc/Xbv3t2qUaOGlZSU5LJ85MiRVnBwsJWYmGhZlmX98MMPliSrY8eOOfp48803LUnWgQMHnMsSExOtoKAg6+mnn87zOWVkZFh//fWXdf3111ujR492Lj9y5IglyVqwYEGej71cbvlk53A4rPT0dOvo0aOWJOvLL790/tukSZMsSdbMmTNdHvP4449bwcHBlsPhsCzLsr755htLkjV37lyXdrGxsTnyzRrPkSNHLMuyrAsXLlgRERFW3759XR6bmZlp3XDDDVarVq2cy8qWLWuNGjXK7eeeZcaMGZYkKz4+Pse/nTx50tqxY4e1fft2KzQ01Hr55ZetHTt2WB988IElyfr++++tHTt2WDt27HA+ZsuWLW6/DhkZGdb58+etMmXKWG+88YZzeVYOjz/+uEv7mTNnWpKskydPWpZlWXv37rUkWePGjXNpt2zZMkuSNWjQIOeyrLn4ww8/OJdFR0dbzZo1s9LT010e36dPH6tq1apWZmamZVmW1bhxY6tfv35XfC5ZY3bndiX9+/e3AgICrOPHj1+xnSfyes8888wzls1ms/bu3evSvnv37jmy6tSpk/M1zy42NtYqVapUjvfQypUrLUnWt99+a1mWZW3atMmSZL322msu7eLi4qyQkBDr2WefzbGurVu3OpedPXvWCggIsEJCQqw//vjDuXznzp2WJOvNN990Gb8n26devXq5tPv4448tSdamTZucy3r37m3VrFnTyk3NmjXdet1z25ZmadSokdWpU6dc/+27776znnvuOWvVqlXWxo0brTlz5lg1atSwypQpY+3cudPZ7qOPPsox7iyPPPKIVbp0aefft956q8v2PrvSpUtbjzzySI7l1atXt/r375/ncwCA/HCINQC/ZbPZ1LdvX5dlMTExOQ51zU1qaqq+//573XHHHQoNDVVGRobz1qtXL6Wmpmrz5s0uj7nrrrty9DNgwAAFBQW5nHV62bJlSktLcznsLyMjQ9OmTVPDhg1VunRp2e12lS5dWr/++qt++eUXD595/k6dOqXhw4crKipKdrtdgYGBqlmzpiTlur7bbrvN5e+YmBilpqY6zxq7ceNGSdLf/vY3l3b33XdfvmP597//rcTERA0aNMglZ4fDoR49emjLli3Ow1hbtWqlhQsXaurUqdq8ebPS09Pder4nTpyQzWbLsfdWkiIjI9W0aVPnnsJ7771XTZs2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n1ZycrKaN2+uTZs26cMPP5R05cMuy5Ytq7feekuDBg1SYmKi7r77blWuXFmnT5/Wrl27dPr0ac2dO1dJSUm6+eabdf/99ys6OlrlypXTli1btHr16ite21i6dHZa6dKH6OwFcoUKFVShQgX9+OOPSk1N1cMPP6xKlSrpiy++UPPmzZ1nz75c3bp1FRISoo8++kgNGjRQ2bJlVa1aNVWrVk0dO3bUrFmznPNo48aNmj9/foGPBGjUqJHuu+8+vfbaawoICFCXLl20d+9evfbaawoPD8/3kNZ3331XPXv2VPfu3TV48GBVr15diYmJ+uWXX7R9+3Z98sknkqSbbrpJffr0UUxMjMqXL69ffvlFixcvVps2bZzXAc7Kq6CyLnl2+Vndsxs8eLAWLVqU7x57d98zo0aN0gcffKCePXtqypQpqlKlipYuXercK+7OIcGjRo3Sp59+qo4dO2r06NGKiYmRw+HQsWPHtHbtWj399NO66aab1K5dOz3yyCMaMmSItm7dqo4dO6pMmTI6efKk/vnPf6pJkyYuXyAVhre2T9k1adJEn332mebOnavmzZurVKlSzmsSN2nSpEDj3Lp1q37//XdJly6VZVmWVq5cKUlq2bKl89wHXbt2VceOHRUTE6OwsDDt3r1bM2fOlM1m08svv+zS54wZM3Trrbfqnnvu0eOPP65Tp05p/Pjxaty4scsRDo0aNdLQoUM1adIkBQQEqGXLllq7dq3ee+89TZ06Ncch1j///LMuXryY69nuAcBtvjs/GABcktdZrMuUKZOjbdZZmbNbv3691axZMysoKCjHWYGPHDliPfTQQ1b16tWtwMBAq1KlSlbbtm2tqVOnOttknSX2k08+yXOMBw8edJ7ldd26dTn+/c8//7SGDh1qVa5c2QoNDbXat29v/fTTT1anTp1czvrqrbNY79u3z7r11lutcuXKWeXLl7fuuece69ixYznOQpuV1+nTp3PtM+tM1JZ16ezcQ4YMsa655horNDTUuvXWW63NmzdbknI9e3P2x1qWZW3cuNHq3bu3FRERYQUGBlrVq1e3evfu7cw1NTXVGj58uBUTE2OFhYVZISEhVv369a1JkyZZFy5cyDeHDh065DiTb5YxY8ZYbdq0cf4dExNjvfTSS1fsb9myZVZ0dLQVGBjoktvx48etu+66yypfvrxVrlw5q0ePHtaePXusmjVrusytvM4untuZqFNTU60xY8ZYlStXtoKDg63WrVtbmzZtssLDw13O2JzbYy3Lsnbt2mX97W9/sypXrmwFBgZakZGRVpcuXax33nnH2Wb8+PFWixYtrPLly1tBQUFWnTp1rNGjR1tnzpy5Yg7uunjxohUeHp7r2d6zu+uuu6yQkBDrzz//vGI7d98zlmVZe/bssbp27WoFBwdbERER1tChQ61FixZZkqxdu3Y523Xq1Mlq1KhRrus7f/689fzzz1v169e3SpcubYWHh1tNmjSxRo8enePs6B988IF10003WWXKlLFCQkKsunXrWg8++KDLGavzWlfNmjWt3r1751guyRoxYoTLssJsn3LbliQmJlp33323dc0111g2my3fs5G7I+uKArndsq971KhRVsOGDa1y5cpZdrvdqlatmvXAAw+4XAEgu7Vr11qtW7d2vqYPPviglZCQkKPdX3/9ZU2aNMm69tprrdKlS1v16tVzORt4di+88IJVsWJFKzU1tdDPG8DVy2ZZbpyxAQBwVVq6dKkGDBigf/3rX2rbtq1Px/Lpp5+qf//+Onr0aKHOnuwv/v3vf6tdu3b66KOPdP/99/t6OF4TGRmpgQMHatasWUW6nkceeUTLli3T2bNnvXaIMoqvzMxMXXfddbr//vv1yiuv+Ho4AIoxCmQAgKRLl6/6448/1KRJE5UqVUqbN2/WrFmz1KxZM+elinzJsiy1bdtWzZs315w5c3w9HI+sW7dOmzZtUvPmzRUSEqJdu3Zp+vTpCg8P188//5zjbO3F1d69e9WmTRsdPnw410tyFdSUKVNUrVo11alTR+fPn9fXX3+tefPm6fnnn9eUKVO8th4UX4sWLdLYsWP166+/ev3EiACuLvwGGQAg6dLvuZcvX66pU6fqwoULqlq1qgYPHqypU6f6emiSLp3U6f3339dXX30lh8Ph1cvRFLWwsDCtXbtWs2fP1rlz51SxYkX17NlTsbGxJaY4li79ZjQ5Odnr/QYGBmrWrFk6fvy4MjIydP311+v111/XU0895fV1oXhyOBz66KOPKI4BFBp7kAEAAAAAkFR8vn4HAAAAAKAIUSADAAAAACAKZAAAAAAAJFEgAwAAAAAgiQIZAAAAAABJFMgAAAAAAEiiQAYAAAAAQBIFMgAAAAAAkiiQAQAAAACQRIEMAAAAAIAkCmQAAAAAACRRIAMAAAAAIIkCGQAAAAAASRTIAAAAAABIokAGAAAAAEASBTIAAAAAAJIokAEAAAAAkESBDAAAAACAJApkAAAAAAAkUSADAAAAACCJAhkAAAAAAEkUyAAAAAAASKJABgAAAABAEgUyAAAAAACSKJABAAAAAJBEgQwAAAAAgCQKZBeDBw+WzWbT9OnTXZZ/8cUXstlskqTU1FQNHjxYTZo0kd1uV79+/Xww0pLNZrMpODhYR48edVner18/DR482Pl3bGysWrZsqXLlyqly5crq16+fDhw4YHi0xY878/zAgQO6+eabVaVKFQUHB6tOnTp6/vnnlZ6e7oshl0juzvPsYmNjZbPZNGrUqKIfYDHnzjz//fffZbPZctxWr17tiyEXe+5kLkmWZenVV19VvXr1FBQUpKioKE2bNs30cEsEdzKfPHlyrvO8TJkyvhhysefuPF+zZo1at26tcuXKqVKlSrrrrrt05MgR08MtEdzN/OOPP1bTpk0VGhqqmjVratasWaaHWix5s/7ZuHGjmjdv7vzs+M477xT18IsEBfJlgoODNWPGDP3555+5/ntmZqZCQkL05JNPqmvXroZHd/Ww2Wx68cUXr9hm48aNGjFihDZv3qx169YpIyND3bp104ULFwyNsvjKb54HBgbqwQcf1Nq1a3XgwAHNnj1b77//viZNmmR4pCWbO/M8y5YtW/Tee+8pJiamiEdVcuQ3z7OsX79eJ0+edN66dOliaIQljzuZP/XUU5o3b55effVV7d+/X6tWrVKrVq0MjrJkyS/zsWPHuszvkydPqmHDhrrnnnsMj7TkyC/zw4cP6/bbb1eXLl20c+dOrVmzRmfOnNGdd95peKQlR36Zf/fddxowYICGDx+uPXv26O2339brr7+uOXPmGB5p8eSN+ufIkSPq1auXOnTooB07dmjixIl68skn9emnnxbl0IsEBfJlunbtqsjISMXGxub672XKlNHcuXP18MMPKzIy0vDorh5PPPGElixZot27d+fZZvXq1Ro8eLAaNWqkG264QQsWLNCxY8e0bds2gyMtnvKb53Xq1NGQIUN0ww03qGbNmrrttts0YMAA/fTTT4ZHWrK5M88l6fz58xowYIDef/99lS9f3tDoir/85nmWChUqKDIy0nkrXbq0oRGWPPll/ssvv2ju3Ln68ssvddttt6l27dpq2rQpXzgXQn6Zly1b1mV+JyQkaN++fRo6dKjhkZYc+WW+fft2ZWZmaurUqapbt65uvPFGjR07Vrt27eJIrALKL/PFixerX79+Gj58uOrUqaPevXtr3LhxmjFjhizLMjza4scb9c8777yja6+9VrNnz1aDBg00bNgwPfTQQ3r11VeLcuhFggL5MgEBAZo2bZreeustHT9+3NfDuWq1bdtWffr00YQJE9x+TFJSkiQpIiKiqIZVYng6zw8dOqTVq1erU6dOBkZ39XB3no8YMUK9e/emiPCQu/P8tttuU+XKldWuXTutXLnS4AhLnvwyX7VqlerUqaOvv/5atWvXVq1atTRs2DAlJib6YLQlg6fb83nz5qlevXrq0KGDgdGVTPll3qJFCwUEBGjBggXKzMxUUlKSFi9erG7duikwMNAHIy7+8ss8LS1NwcHBLstCQkJ0/PjxHD9lQk7eqH82bdqkbt26uSzr3r27tm7dWuy+GKJAzsUdd9yhpk2bcjipFz333HMqW7bsFW/Hjh1zeUxsbKxWr17t1l5Ly7I0ZswYtW/fXo0bNy6qp1GiuDPP27Ztq+DgYF1//fXq0KGDpkyZYnCExU9RzPPly5dr+/bt+e4FRe6uNM/Lli2r119/XStXrtS3336rW265Rf3799eSJUt8MNKS40qZHz58WEePHtUnn3yiDz/8UAsXLtS2bdt09913+2CkJYe7n1vS0tL00UcfsffYC66Uea1atbR27VpNnDhRQUFBuuaaa3T8+HEtX77cByMtOa6Ueffu3fXZZ5/p+++/l8Ph0MGDBzV79mxJ0smTJw2PtHgqbP0THx+vKlWquCyrUqWKMjIydObMGW8M0RgK5DzMmDFDixYt0r59+3w9lBJhzJgx2rlzZ563CxcuyOFwuDymYcOGevDBBzVu3Lh8+x85cqR+/vlnLVu2rKieQomU3zxfsWKFtm/frqVLl+qbb74plofJmOTteR4XF6ennnpKS5YsyfHNONyX1zyvWLGiRo8erVatWqlFixaaMmWKHn/8cc2cOdNHIy058src4XAoLS1NH374oTp06KDOnTtr/vz5+uGHHzjJYiG587nls88+07lz5/Tggw8aHFnJlVfm8fHxGjZsmAYNGqQtW7Zo48aNKl26tO6++24O9y2kvDJ/+OGHNXLkSPXp00elS5dW69atde+990q6tHcU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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from src.rating_interval_util import plot_typical_answers\n", "\n", "plot_typical_answers(tangles.typical_answers(insert_labels=False).iloc[8:], agreement, survey_N.data.columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each entry in the plot shows an interval, e.g. N1 in tangle 0 depicts $[4,5]$.\n", "\n", "When interpreting the results, keep in mind that the rating scale of the negatively keyed statements N2 and N4 is reversed. Here is a look-up table for the N statements: \n", "\n", "| N1 | N2 | N3 | N4 | N5 | N6 | N7 | N8 | N9 | N10 |\n", "|----------------------------|--------------------------------|-----------------------|---------------------|------------------------|---------------------|-------------------------|------------------------------|-------------------------|--------------------|\n", "| I get stressed out easily. | I am relaxed most of the time. | I worry about things. | I seldom feel blue. | I am easily disturbed. | I get upset easily. | I change my mood a lot. | I have frequent mood swings. | I get irritated easily. | I often feel blue. |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can recognize three groups of tangles:\n", "1) __Tangles 5, 6:__ These tangles don't consist of intervals, but of a single value for each statement. Interestingly, moderate ratings are the most common way to rate the N statements. \n", "2) __Tangles 2, 3:__ We see two typical types of participants that __don't__ have a __neurotic__ tendency.\n", " - Tangle 2 is straightforward. All statements get a low rating. \n", " - Tangle 3 represents participants that don't have typical neurotic character traits, but feel blue from time to time. \n", "3) __Tangles 0, 1, 4:__ We see the two most typical ways of how participants with a __neurotic__ tendency rate the statements.\n", " - Tangle 4 is straightforward.\n", " - Tangle 1 represents participants that are neurotic, but don't necessarily worry to much about things.\n", " - Tangle 0 is similar, but additionally this facet captures participants that feel blue less often than most participants with a neurotic tendency. \n", " \n", "Note a strange detail concerning tangle 0: While ¬N4 has a low to medium rating, N10, which can be see as an equivalent of ¬N4, has a medium to high rating. It may be interesting to investigate further into the relation of ¬N4 and N10 ratings!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, two notes on this result: \n", "- The choice of feature order has a great influence on the results. Playing around with different feature orders is a nice way to get a feeling for the data and to better understand the tangle search process.\n", "- Moreover, to get a valuable interpretation we choose a specific viewpoint on our data, namely, we only have a look at the N statements. Our experiments showed that if we instead look at the statements of one of the other four factors, the interval tangles may not reveal as much structural information as they do for N. The same holds if we consider all 50 statements at once: Firstly, interpretation is difficult because the large number of intervals can be overwhelming, and secondly, the vast majority of the found interval tangles differs just slightly, which makes most tangles uninteresting.\n", "\n", "We encourage the user to play around with the setup of the tangle search to find other fruitful viewpoints on the data." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" }, "vscode": { "interpreter": { "hash": "18d70d3a5ec8dae470aa7ed92e95e983ed352393fba22ec5a6164b74731ce55e" } } }, "nbformat": 4, "nbformat_minor": 4 }